sel*_*dog 10 javascript underscore.js
在两个Javascript对象中查找公共成员的最简单方法是什么?这个问题与平等无关.我不关心每个成员的值,只是它们存在于两个对象中.
这是我到目前为止所做的(使用underscore.js):
_.intersection(_.keys({ firstName: 'John' }), _.keys({ firstName: 'Jane', lastName: 'Doe' }))
Run Code Online (Sandbox Code Playgroud)
这给了我一个['firstName']预期的结果,但我想找到一种更简单或更有效的方法,最好是vanilla Javascript.
Pet*_*son 10
当然,只需遍历一个对象的键并构造另一个对象共享的键数组:
function commonKeys(obj1, obj2) {
var keys = [];
for(var i in obj1) {
if(i in obj2) {
keys.push(i);
}
}
return keys;
}
Run Code Online (Sandbox Code Playgroud)
这适用于现代浏览器:
function commonKeys(a, b) {
return Object.keys(a).filter(function (key) {
return b.hasOwnProperty(key);
});
};
// ["firstName"]
commonKeys({ firstName: 'John' }, { firstName: 'Jane', lastName: 'Doe' });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3862 次 |
| 最近记录: |