我正在尝试编写一个自定义函数,该函数迭代对象数组,并通过将它们作为用逗号连接的字符串返回来展平任何选定的对象属性键。
也许用代码更好地解释:
var products = [
{
"id": 1,
"variants": {
"colour": "black"
},
},
{
"id": 2,
"variants": {
"colour": "red"
}
}
];
function joinedByComma(arr, keys) {
// some code
}
joinedByComma(products, ["variants", "colour" ]);
// returns "black,red"
关于如何编写函数 joinedByComma
有什么见解吗?第二个数组参数中的项目数可以是任意长度,具体取决于对象的嵌套方式...
最佳答案
const joinedByComma = (arr, keys) =>
arr.map(el => keys.reduce((obj, key) => obj[key] || {}, el)).join();
只需将数组映射到每个条目,方法是将键减少到对象的值,然后将它们连接起来。
关于javascript - 函数迭代对象数组并将选定的对象属性展平为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51517938/