首页 > 解决方案 > 修改JS中的初始对象值

问题描述

我有一个代码来获取下一个数组:

const arr = [
    {
        name:'',
        age:55
    },
    {
        name:'Bill',
        age:''
    },
]

..我应该考虑到,如果键不包含值,我应该为该键输出值:no data
最后我应该得到这样的东西:

const arr = [
    {
        name:'no data',
        age:55
    },
    {
        name:'Bill',
        age:'no data'
    },
]

我做的:

const arr = [
    {
        name:'',
        age:55
    },
    {
        name:'Bill',
        age:''
    },
]
const func = (arr) => {
const myKeys = arr.map(k => Object.keys(k))
   return  arr.map((i, k1) => {
        return myKeys[k1].reduce((acc,r )=> {
            return {
                [acc] : !i[r].toString().length ? 'no data' :i[r] 
            }
        })
       
    })
};
console.log(func(arr))

如何实现我上面描述的?

标签: javascript

解决方案


不确定我是否理解您的问题,但这似乎有效:

const arr = [
    {
        name:'',
        age:55
    },
    {
        name:'Bill',
        age:''
    },
]

arr.forEach(item => {
  for(let key in item) {
    if(!item[key]) item[key] = 'no data';
  }
});

console.log(arr);


推荐阅读