const value1=a
let arr1=[
{a:1,
b:2,
c:3
},
{a:1,
b:2,
c:3
},
{a:1,
b:2,
c:3
}
]
请问如何通过value1的值去把数组对象中所有对应的值取出来,生成如下array[1,1,1]。
const value1=a
let arr1=[
{a:1,
b:2,
c:3
},
{a:1,
b:2,
c:3
},
{a:1,
b:2,
c:3
}
]
请问如何通过value1的值去把数组对象中所有对应的值取出来,生成如下array[1,1,1]。
一次循环,hasOwnProperty
避免 value1
和原型链重名,逗号表达式把代码怼一行里
arr1.reduce((res, it) => (it.hasOwnProperty(value1) && res.push(it[value1]), res), []);
function fn(arr, value) {
return arr.reduce((prev, cur) => {
if(cur.hasOwnProperty(value)) {
prev = prev.concat(cur[value])
}
return prev
}, [])
}
fn(arr1, value1)
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
3 回答1.3k 阅读✓ 已解决