我有一個包含對象的數組。if語句結果的新數組
我想使用if語句搜索具有特定屬性的對象並創建一個單獨的數組,其中只包含這些對象。
var firstArray = [...]
for (var a = 0; a < firstArray.length; a++) {
if (firstArray[a].name == 'index.png') {
// create secondArray here
}
}
感謝您的幫助!
我有一個包含對象的數組。if語句結果的新數組
我想使用if語句搜索具有特定屬性的對象並創建一個單獨的數組,其中只包含這些對象。
var firstArray = [...]
for (var a = 0; a < firstArray.length; a++) {
if (firstArray[a].name == 'index.png') {
// create secondArray here
}
}
感謝您的幫助!
您可以用這種方式
var obj = {'el1': 1, 'el2': 2};
var firstArray = [{'el1': 1, 'el2': 2}, {'el3': 1, 'el4': 2}]
var searchTerm = 'el1';
for(var a=0; a<firstArray.length; a++){
for(var key in firstArray[a]){
if(key == searchTerm){
// do whatever you want to do.
console.log('key = ', key, 'value = ', obj[key]);
}
}
}
該OP開始於一個數組,而不是一個對象... – War10ck
而這根本不是過濾器。另外,應該聲明'key'。 – PeterMader
我想你正在談論這個解決方案。我之前只寫了內部部分。 – Atiq
只需使用一個過濾器
var secondArray = firstArray.filter(x => x.name == 'index.png')
var firstArray = [{
'name': 'A'
}, {
'name': 'B'
}, {
'name': 'C'
}]
var newArray = [];
for (name in firstArray) {
if (firstArray[name].name == 'A') {
newArray = firstArray[name];
console.log(newArray)
}
}
請檢查此片段。
['Array#filter'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)。 – Erazihel
請提供樣本數據以及您卡在哪裏。沒有必要這樣做。已經有內置的方法,如過濾器 –