我目前正在練習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