[英]Assign value of object and nested object in JavaScript
所以,基本上,我有这个 object(在 vue data() 中):
...
detail: {
title: 'I have no idea',
date: 2020-02-12,
sender: {
name: 'John Cenna',
username: 'john10'
},
receipent: {
name: 'Katleen',
username: 'katmeow'
},
....
}
现在,我想将它们全部分配为 null (用于验证过程),但无法分配嵌套的 object (没有子节点的 object 只需循环即可)。 我该怎么做呢? 谢谢你
递归解决方案:
Object.entries()
迭代 object 的键值条目如下。 请注意, Object.entries()
为非对象返回一个空数组。null
或undefined
,则返回。null
。 const data = { detail: { title: 'I have no idea', date: 2020 - 02 - 12, sender: { name: 'John Cenna', username: 'john10' }, receipent: { name: 'Katleen', username: 'katmeow' }, items: [ { id: 100, name: 'Apple' }, { id: 200, name: 'Banana' }, { id: 300, name: 'Orange' }, ] } } function nullify(obj) { // 1 Object.entries(obj).forEach(([k,v]) => { // 2 if (v === null || v === undefined) { return } // 3 if (Array.isArray(v)) { return v.forEach(nullify) } // 4 if (typeof v === 'object') { nullify(obj[k]) } else { // 5 obj[k] = null } }) } nullify(data.detail) console.log('res', data.detail)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.