我目前正在练习js中的一些基本问题,并且对这些语言中的任何一种都是比较新的。如果另一个obj“third”具有相同的属性值,我想从属性“second”中将属性的值和名称检索到数组“temp”中。 我可以做到这一点,当属性名称已经定义,但我怎么能做到这一点,如果我不知道实际的属性名称。可使用Object.keys()如何将对象检索到Javascript中的数组?
我的代码是这样的:
function where(second, third) {
var arr = [];
var temp=[];
for(var i in second)
{
if(third.hasOwnProperty('last')){
if(second[i].last===third.last){
arr=second[i];
temp.push(arr);
}
}
if(third.hasOwnProperty('first')){
if(second[i].first===third.first){
arr=second[i];
temp.push(arr);
}
}
}
return temp;
}
where([{ first: 'Ram', last: 'Ktm' }, { first: 'Sam', last: null }, { first: 'Tybalt', last: 'Capulet' }], { last: 'Capulet' });
结果数组是:[{ 'first': 'Tybalt', 'last': 'Capulet' }]
我怎样才能获得相同的结果,即使我不知道实际的属性名称。例如,这里的名字首先和最后可能是食物,而其用途是未知的。 我已经在这里使用了以下线程。
[2]: https://stackoverflow.com/questions/4607991/javascript-transform-object-into-array
[1]: https://stackoverflow.com/questions/4607991/javascript-transform-object-into-array
请告诉我'为(VAR我在集合)',哪来的'collection' – fuyushimoya
@fuyushimoya,只是修正了它意思是为了(var我在第二)。 – user2906838