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)