我想将不存在的项目推送到已经声明的对象中,如果它们尚不存在,请使用 lodash 进行角度
I'd like to push non-existing items inside an already declared object if they don't already exist using lodash in angular
我是 lodash 的新手,但正如标题所述"如果不存在不存在,我想将不存在的项目推送到已经声明的对象中",也就是说,如果我有
var lessdata = {
"id": 1004,
"name": "some event",
"bookmarked": false //not in moredata and I'd like to keep the var as is
};
var moredata = {
"id": 1004,
"name": "some event",
"time": { //from here
"hours": 2,
"minutes": 00,
"currency": "USD"
},
"place": "some place" //to here is new without '"bookmarked": false'
};
我想将我的结果加载回 lessdata
变量中,让我的结果看起来像这样
var lessdata = {
"id": 1004,
"name": "some event",
"time": {
"hours": 2,
"minutes": 00,
"currency": "USD"
},
"place": "some place",
"bookmarked": false
};
我坚持知道在角度中适当地使用 lodash,并且不确定我是否需要使用 angualar 的 foreach。
我涉足了两种方法。
版本 1
lessdata= _.uniq(lessdata, function(moredata) {
return moredata;
});
版本 2
angular.forEach(lessdata, function(lkey, lvalue) {
console.log("[-]lessdata---lkey: " + lkey + ", lvalue: " + lvalue)
angular.forEach(moredata, function(mkey, mvalue) {
console.log("[+]moredata---mkey: " + mkey + ", mvalue: " + mvalue)
lessdata=_.uniq(lessdata, function(moredata) {
return moredata;
});
})
})
$scope.event = lessdata
我假设使用_.uniq
是最好的方法? 任何帮助将不胜感激,我在这里创建了一个代码笔。
TLDR:只需阅读标题
这就是
lodash.defaults
的作用:
将源对象的自有和继承的可枚举属性分配给解析为
undefined
的所有目标属性的目标对象。
lodash.defaults(lessdata, moredata);
相关文章:
- javascript如果图像不存在don't加载它
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 如果文件不存在,fs.watch是否有错误处理程序
- 从params推送到对象(如果不存在)
- 如何从网站获得apple touch图标,如果没有;不存在,则显示收藏夹
- 如果 document.title 不存在,如何获取页面标题名称
- 在'用于'如果javascript中不存在对象属性,则循环
- 使用javascript中的if和else语句来显示图像(如果图像不存在,则显示其他图像)
- javascript页面加载检查是否存在具有特定类的span(在<tr>下),如果不存在,则删除整个<
- 如果数据不存在,则在表上追加jQuery
- 有没有一个lodash函数可以合并两个对象并删除其中一个对象的属性(如果它们没有)'不存在于另一个中
- 嵌入多对多关系-如果一个新对象还不存在,则添加一个新的对象
- javascript/jquery将尾部斜杠添加到url(如果不存在)
- 如果JSON解析对象不存在,如何避免脚本损坏
- 如果代码没有'txt文件中不存在
- AngularJS NgIf 或 NgHide 如果另一个元素不存在或隐藏
- 如果不存在任何段落,Angular JS将默认创建段落
- 如果不存在,请在Angular中设置cookie
- 如果输入不存在,请插入输入
- 如果属性不存在,则不显示对象的数据