我刚接触全栈开发,特别是java-script和函数式编程。使用高阶函数(如map、filter等),我需要将内部对象数组值更改为外部数组给定值:
let arr = [
[ [
{name: "Alice", age: 22},
{name: "Charlie", age: 35}
], "Bob" ],
[ [
{name: "John" , age: 42}
], "Ben"]
]
并且我需要输出数组:
output = [
[
{name: "Bob", age: 22},
{name: "Bob", age: 35}
],
[
{name: "Ben", age: 42}
]
]
谢谢。
发布于 2020-02-17 20:58:39
您已经知道如何使用map
,所以这里是:
arr.map(x => x[0].map(y => {return {...y, name: x[1]}}))
对于主列表中的每一项,我们将其映射到替换了名称的对象列表。
发布于 2020-02-17 21:58:49
略微修改了西蒙的答案。加了一点解构糖
let arr = [
[ [
{name: "Alice", age: 22},
{name: "Charlie", age: 35}
], "Bob" ],
[ [
{name: "John" , age: 42}
], "Ben"]
]
const result = arr.map(([data, name]) => data.map(({age}) => ({name, age})))
console.log(result)
https://stackoverflow.com/questions/60262928
复制相似问题