如果Object key存在,则向其添加另一个对象
If Object key exists add another object to it
我正在解析一个相当大的JSON文件,并在一个对象内做一些键:值对。我遇到的问题是,如果我找到一个键,我需要实际添加另一个对象,而不是在它上面写。
的例子:
var collection = {};
angular.forEach(things, function(thing) {
collection[thing.Id] = thing.stuff;
//thing.stuff is an object
});
在我收到第一篇文章的一些评论之后,我得出了一个结论:
var collection = {};
angular.forEach(things, function(thing) {
if(collection[thing.Id]){
//Key Exists push into array
collection[thing.Id].push(thing.stuff);
}else{
//Key doesn't exist create array for object
collection[thing.Id] = [thing.stuff];
}
});
以现代的方式:也许有人会派上用场
var collection = {};
angular.forEach(things, function(thing) {
if(!collection[thing.Id]){
collection[thing.Id] = [];
}
collection[thing.Id] = [...collection[thing.Id], thing.stuff];
// or ----------------------------------------------------
// add item at start
// collection[thing.Id] = [thing.stuff, ...collection[thing.Id]];
// or ---------------------------------------------
// if you doesn't want to change referrance every time
// collection[thing.Id].push(thing.stuff);
});
相关文章:
- 我可以在json对象中添加一个函数吗
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何使用jQuery添加另一个对象的高度作为边距
- 如何将一个对象添加到每个对象数组中
- js:如何制作一个循环,将20个不同的东西添加到一个对象中
- 我需要使用什么语法来向一个对象的成员添加一个临时数组,该成员等同于一个字符串的通用列表
- 如何在MongoDB对象的每个嵌套数组中添加一个额外的元素
- 在JavaScript中将一个对象动态添加到另一个对象
- 在现有的json对象中添加一个新的键(数组)
- 嵌入多对多关系-如果一个新对象还不存在,则添加一个新的对象
- 如何在javascript中为每个JSON对象添加一个JSON数组
- Javascript事件处理程序总是被添加到数组中的最后一个对象
- 在Javascript中为对象的每个对象属性添加一个属性
- 在Javascript中向Array对象添加一个方法
- 在我的情况下,如何将对象添加到另一个对象中
- 将键/值添加到数组中,其中值是一个对象
- 下划线.js,从一个对象中获取两个项目并添加到顶部
- 如何在Javascript中添加一个对象时使字符串显示为数组返回到数组
- 在聚合物中使用元素之间的交互作用向数组中添加一个对象
- 如何在javascript中添加一个对象到数组