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)