JS中根据对象某个属性的值来获取其他属性的值

复制代码
 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title></title>
 6     </head>
 7     <body>
 8         <script type="text/javascript">
 9             // 根据对象某个属性的值来获取其他属性的值
10             let arr = [
11                 {
12                     key: 1,
13                     value: '地址'
14                 },
15                 {
16                     key: 2,
17                     value: '姓名'
18                 },
19                 {
20                     key: 3,
21                     value: '年龄'
22                 },
23                 {
24                     key: 4,
25                     value: '电话'
26                 }
27             ]
28             let a = [1, 2, 3]
29             let b = []
30             // 第二种:使用find方法寻找
31             for (let i = 0; i < a.length; i++) {
32                 arr.find((obj) => {
33                     if (obj.key == a[i]) {
34                         b.push({
35                             label: obj.value,
36                             key: i
37                         })
38                     }
39                 })
40             }
41             console.log(b)
42 
43             // 第一种:使用for嵌套循环,需要注意性能优化,将循环次数少的放在外面
44             for (let i = 0; i < a.length; i++) {
45                 for (let j = 0; j < arr.length; j++) {
46                     if (a[i] == arr[j].key) {
47                         console.log(arr[j].value)
48                     }
49                 }
50             }
51         </script>
52     </body>
53 </html>
复制代码

 

复制代码
// 第三种
arr.forEach(item=>{
    if(a.includes(item.key)){
       b.push(item)
   }
})

console.log(b)

// 第四种
b = arr.filter(item => a.includes(item.key) == true)

console.log(b)
复制代码

 

posted @   yw3692582  阅读(11823)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示