gpt4 book ai didi

javascript - 如何搜索和替换对象文字数组中的值

转载 作者:行者123 更新时间:2023-11-28 18:33:21 25 4
gpt4 key购买 nike

我一直在尝试找出如何简单地搜索和替换对象数组中的值(在本例中将任何等于 null 的值替换为未定义) - 数组键可能会有所不同:

var array = [{ 
"name": "mike",
"age": null
},
{ "name": "jim",
"age": 99
}];

预期结果:

var array = [{ 
"name": mike,
"age": undefined
},
{ "name": jim,
"age": 99
}];

我的印象是,我应该能够使用 map() 函数来完成此操作,但没有一个文档示例对我来说非常有意义。我一直在尝试应用这个问题的解决方案:https://stackoverflow.com/a/5915891/2930969但没有任何成功。

无论如何,如果有人愿意帮助我指出正确的方向,这里有一个框架代码笔,您可以修改:http://codepen.io/anon/pen/zBxwdj?editors=0012

最佳答案

既然您说过键可能会有所不同,您将需要执行两个循环来覆盖任意键名称。对数组进行一操作,然后对每个对象的键进行操作。

var nullToUndef = function (a) {
return a.map(function (o) {
Object.keys(o).forEach(function (key) {
if (o[key] === null) {
o[key] = undefined;
}
});
return o;
});
},
array = [
{
"name": "mike",
"age": null
},
{ "name": "jim",
"age": 99
},
{"foo": null,
"bar": null
}
];

console.log(nullToUndef(array));

jsFiddle

nullToUndef使用 Array.prototype.map 创建一个新数组,在它使用的映射函数内部 Object.keys 获取每个对象上的键名称列表。然后它检查每个属性值以查看它是否为 null和变化null属性为undefined在返回新数组的对象之前。

关于javascript - 如何搜索和替换对象文字数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37559901/

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