gpt4 book ai didi

javascript - 在嵌套数组中查找和编辑?

转载 作者:搜寻专家 更新时间:2023-10-31 23:49:56 25 4
gpt4 key购买 nike

我有一个动态变化的嵌套数组。我需要检查数组是否包含一个对象,然后修改该对象,使其余项目保持不变。

示例:

var input = [
['a', 'b'],
['c', 'd'],
['e', ['f', 'g']],
['h', ['i', 'j']]
]

在这个嵌套数组中,我想找到f并将其更改为f-is-found

var result = [
['a', 'b'],
['c', 'd'],
['e', ['f-is-found', 'g']],
['h', ['i', 'j']]
]

问题是 f 可以改变它在数组中的位置,所以我不能使用任何硬编码方式来访问数组。

感谢帮助,谢谢

最佳答案

您可以使用递归方法,遍历数组中的每个元素(并遍历每个内部数组等等...),然后检查您的当前值是否等于 f,如果是,你可以修改它,否则,如果当前值是一个数组,你可以使用相同的函数再次搜索该数组。

请看下面的例子:

const input = [
['a', 'b'],
['c', 'd'],
['e', ['f', 'g']],
['h', ['i', 'j']]
];

function findAndChange(search, toadd, arr) {
arr.forEach((val, i) => {
if (!Array.isArray(val)) {
if (val === search) {
arr[i] = val + toadd;
}
} else {
findAndChange(search, toadd, val);
}
});
}

findAndChange('f', '-is-found', input);
console.log(input);

关于javascript - 在嵌套数组中查找和编辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57228319/

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