使用 JavaScript 将对象中的所有值设置为 Null
要将对象中的所有值设置为空,请将该对象传递给 Object.keys() 方法以获取对象键的数组,然后使用 forEach() 方法遍历该数组,将每个值设置为空。 在最后一次迭代之后,该对象将只包含空值。
const obj = {
name: 'Tom',
age: 30,
country: 'Chile',
};
Object.keys(obj).forEach(key => {
obj[key] = null;
});
// 👇️ {name: null, age: null, country: null}
console.log(obj);
我们使用 Object.keys 方法获取对象键的数组。
const obj = {
name: 'Tom',
age: 30,
country: 'Chile',
};
// 👇️ ['name', 'age', 'country']
console.log(Object.keys(obj));
下一步是使用 Array.forEach 方法迭代数组。
我们传递给 forEach 方法的函数会针对数组中的每个元素进行调用。
在每次迭代中,我们将当前键的值设置为 null。
在最后一次迭代之后,对象中的所有值都将设置为 null。
另一种方法是不改变对象,而是使用 Array.reduce 方法创建一个新对象。
使用 reduce() 将对象中的所有值设置为 Null
要将对象中的所有值设置为 null,请将对象传递给 Object.keys() 方法以获取对象键的数组并使用 reduce() 方法迭代该数组。 在每次迭代中,扩展累加器对象,将键设置为 null 值并返回结果。
const obj = {
name: 'Tom',
age: 30,
country: 'Chile',
};
const newObj = Object.keys(obj).reduce((accumulator, key) => {
return {...accumulator, [key]: null};
}, {});
// 👇️ {name: null, age: null, country: null}
console.log(newObj);
我们传递给 reduce 方法的函数会为 keys 数组中的每个元素调用。
我们将累加器变量的初始值设置为一个空对象。
在每次迭代中,我们使用扩展语法 … 将累积对象的键值对解包到一个新对象中,将当前属性设置为 null。
选择哪种方法取决于个人喜好。 我更喜欢在这种情况下使用 forEach,因为我觉得它更直接。 如果不想改变原始对象,请使用 reduce 方法。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。