gpt4 book ai didi

javascript - JS : update the data in a specific object by key

转载 作者:行者123 更新时间:2023-11-30 23:56:59 25 4
gpt4 key购买 nike

这是我的数组:

const mockData = [
{
text: 'Text1',
data: [
{ field: '1' },
{ field: '2' },
{ field: '3' },
{ field: '4' },
{ field: '5' },
{ field: '6' }
]
},
{
text: 'Text2',
data: [{ field: '1' }, { field: '2' }, { field: '3' }, { field: '4' }]
}
];

我需要通过 text 属性更新特定对象中的data。例如,如果我将键定义为 Text1,我需要更新数组的第一个对象中的 data

基本上,我需要一个像 updateArray(key, data) 这样的方法。

我想这样使用它:

const dataToUpdate = [{field: '777'}]

updateArray('Text1', dataToUpdate);

输出:

const mockData = [
{
text: 'Text1',
data: [{field: '777'}]
},
{
text: 'Text2',
data: [{ field: '1' }, { field: '2' }, { field: '3' }, { field: '4' }]
}
];

这是迄今为止我尝试对特定对象属性进行切片的方法,但问题是如何使用新数据更新它:

const sliceArray = (data, target, len = 3) => 
data.map(({ text, data, ...rest}) => ({
data: text == target ? data.slice(0, len) : data,
text,
...rest
}))

console.log(sliceArray(mockData, 'Text1'))

最佳答案

您需要传递新数据而不是计数。

const replaceArray = (data, target, newData) => 
data.map(({ text, data, ...rest}) => ({
data: text == target ? newData : data,
text,
...rest
}))

console.log(replaceArray(mockData, 'Text1', dataToUpdate))

关于javascript - JS : update the data in a specific object by key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60981563/

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