匹配对象键并使用lodash将新键和值添加到其中

时间:2016-06-02 21:23:44

标签: angularjs lodash

我有一个对象

 {
  sampletrue:{
  data1:'data',
  data2:'data'
   },
  samplefalse:{
  data1:'data',
  data2:'data'
 }   
}  

在这里,我要做的是使用对象键名称,我想在其中添加一个新的键/值对。让我们说'sampletrue'对象我希望匹配键名称,如果它有'true'我需要添加一个新值作为“resolve:'enable'”如果它是'false'我想添加“resolve: '禁用'“我在我的代码中使用lodash。

示例输出:

 {
sampletrue:{
data1:'data',
data2:'data',
 resolve:'enable'
 },
samplefalse:{
data1:'data',
data2:'data'
resolve:'disable' 
}   
} 

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在评论中找到解释:

var d = {
   sampletrue: {
     data1: 'data',
     data2: 'data'
   },
   samplefalse: {
     data1: 'data',
     data2: 'data'
   }
 }
// loop through the keys of the object with Object.keys() and forEach()
Object.keys(d).forEach(k => {
// we check with match method if the key (k) matches 'true'
  if (k.match(/true$/))
    d[k].resolve='enable' ;//if it matches assign resolve prop , 'enable' val
  
//same as above but with 'false'
  if (k.match(/false$/))
    d[k].resolve='disable' ;
})

console.log(d)