ajm*_*jma 4 underscore.js angularjs
我正在尝试检查我收到的新数据对我正在抓住的对象,我想要找出的是,如果他们发送的对象的键与我当前拥有的对象中的任何键匹配.
所以我抓住了像这样的物体
myObj = [{"one": 1}, {"two": 2 },{"three" : 3}];
Run Code Online (Sandbox Code Playgroud)
我收到一个像这样的对象
{"three" : 5 }
Run Code Online (Sandbox Code Playgroud)
我想只是针对对象数组(myObj)检查这个对象,看看里面是否有"三"键(我不关心值,只是键匹配)所以我可以弹出它成为一个if语句分开喜欢 -
if( array of objects (myObj) has key from single object ( "three" ) ) {}
Run Code Online (Sandbox Code Playgroud)
我使用下划线.谢谢!
编辑:对不起,这不清楚,我正在编辑它澄清 -
我抓住myObj(对象数组),并发送一个对象 - 例如"三",我只想拉出那个单个对象键(Object.keys(updatedObject)[0])并检查如果对象数组中的任何对象具有该键.
所以_has似乎只是为了检查一个对象,而不是一个对象数组.
Ber*_*rgi 11
您正在寻找与使用以下内容的回调相结合的_.some迭代器_.has:
if (_.some(myObj, function(o) { return _.has(o, "three"); })) {
…
}
Run Code Online (Sandbox Code Playgroud)
您可以使用下划线方法'has'
这里的例子如下:
_.has({"three" : 5 }, "three");
=> true
Run Code Online (Sandbox Code Playgroud)
从下划线文档:
对象是否包含给定的键?与object.hasOwnProperty(key)相同,但是使用对hasOwnProperty函数的安全引用,以防它被意外覆盖.