是否可以使用下划线创建带有变量的 Javascript 对象?
Is it Possible to Use Underscore to Create a Javascript Objects with a Variable?
我有以下情况:
var newObject = {user: object, user1: object1}
var user = "something";
var object = {key: [obj, obj], key1: [obj, obj]}
我想将以下内容添加到 var object 中的对象数组中:
var addToIt = [objA, objB];
最终 var 对象应该是这样的:
var object = {key: [obj, obj, objA, objB], key1: [obj, obj]}
我相信有一种方法可以用下划线来完成,但直到现在我还没有弄明白。非常感谢解决方案或建议!
为了分享我的方法,这是我认为可行的方法,但当我尝试为键和键 1 推送未定义的值时出现错误:
var newHistory = _.mapObject(newObject, function(valN, keyN){
_.mapObject(valN, function(vs, ks){
if(ks = key){
return vs.push(addToIt);
}
})
})
这是我找到的解决方案:
var newHistory = _.mapObject(newObject, function(valN, keyN){
if(keyN == key) {
return valN.concat(addToIt);
} else {
return valN;
}
});
试试看这个方法行不行
_.mapObject(newObject, function(valN, keyN){
var arr=[];
_.mapObject(valN, function(vs, ks){
if(ks = "key"){
arr.push(vs);
arr.push(addToIt)
}
});
return arr;
})
我有以下情况:
var newObject = {user: object, user1: object1}
var user = "something";
var object = {key: [obj, obj], key1: [obj, obj]}
我想将以下内容添加到 var object 中的对象数组中:
var addToIt = [objA, objB];
最终 var 对象应该是这样的:
var object = {key: [obj, obj, objA, objB], key1: [obj, obj]}
我相信有一种方法可以用下划线来完成,但直到现在我还没有弄明白。非常感谢解决方案或建议!
为了分享我的方法,这是我认为可行的方法,但当我尝试为键和键 1 推送未定义的值时出现错误:
var newHistory = _.mapObject(newObject, function(valN, keyN){
_.mapObject(valN, function(vs, ks){
if(ks = key){
return vs.push(addToIt);
}
})
})
这是我找到的解决方案:
var newHistory = _.mapObject(newObject, function(valN, keyN){
if(keyN == key) {
return valN.concat(addToIt);
} else {
return valN;
}
});
试试看这个方法行不行
_.mapObject(newObject, function(valN, keyN){
var arr=[];
_.mapObject(valN, function(vs, ks){
if(ks = "key"){
arr.push(vs);
arr.push(addToIt)
}
});
return arr;
})