gpt4 book ai didi

javascript - 如何获取数组中的对象子集并将数组作为参数传递

转载 作者:行者123 更新时间:2023-11-28 14:07:21 26 4
gpt4 key购买 nike

我正在接收一组对象作为来自 API 调用的响应数据。

data = [{obj1},{obj2},{obj3},{obj4},{obj5}]

obj1 = {
prop1: 'value1',
prop2: 'value2',
prop3: 'value3',
}

我正在尝试使用数组,比方说:['prop2', 'prop3'] 来过滤对象数组并返回对象子集的数组。

[{filteredObj1},{filteredObj2},{filteredObj3},{filteredObj4},{filteredObj5}]

filteredObj1 = {
prop2: 'value2',
prop3: 'value3'
}

等等...

最初尝试了以下方法:

const arrayOfPropsIWant = ['prop1', 'prop2']

data.forEach((el) => {
const filtered = (({ ...arrayOfPropsIWant }) => ({ ...arrayOfPropsIWant }))(el);
})

当我不传递 ...arrayOfPropsIWant 来解构时,这有效,而是显式传递了 props (({ prop1, prop2 })

我正在尝试构建自定义 ReactJS Hook ,有什么方法可以实现此目的吗?

最佳答案

你应该使用Array.map:

const data = [
{ prop1: 'value1', prop2: 'value2', prop3: 'value3' },
{ prop1: 'value1', prop2: 'value2', prop3: 'value3'},
{ prop1: 'value1', prop2: 'value2', prop3: 'value3'}
]

const arrayOfPropsIWant = ['prop1', 'prop2']

const filtered = data.map((elem) => {
const out = {};
arrayOfPropsIWant.forEach(prop => out[prop] = elem[prop]);
return out;
}
);

console.log(filtered);

关于javascript - 如何获取数组中的对象子集并将数组作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60791105/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com