1
我有一個數組給予多個對象作爲條目(集合),我想檢查另一個源對象是否在這些單個條目對象中。如果是這樣,我想返回一個數組,其中包含滿足該條件的所有對象。下面是一個例子代碼:如果對象與多個對象組成陣列,如何檢查JavaScript?
function whatIsInAName(collection, source) {
var arr = [];
var sourceEntries = Object.entries(source);
for (var i = 0; i < collection.length; i++) {
for (var j = 0; i < sourceEntries.length; i ++) {
if((collection[i].hasOwnProperty(sourceEntries[j][0]))) {
if(collection[i][sourceEntries[j][0]] == sourceEntries[j][1]) {
/*what happens here*/
}
}
arr.push(collection[i]);
}
}
return arr;
}
print(whatIsInAName([{ "a": 1, "b": 2 }, { "a": 1 }, { "a": 1, "b": 2, "c": 2 }], { "a": 1, "b": 2 }));
很顯然,我不知道該怎麼把它的書面(「這裏是什麼情況」)。問題基本上是第二個for循環,如果條件必須是true
,所以push命令纔有意義。
我很感激任何提示或幫助,謝謝!
P.S.我知道這可能不是最優雅的解決方案,因此對任何其他解決方案都很滿意。
你可以給一個樣本輸入和輸出嗎?我認爲這可以幫助某人確切地瞭解您的需求。 –
我的意思是取決於你真正想做得多徹底,你可以測試'JSON.stringify(item_in_array)== JSON.stringify(search_object)' – Jhecht
當然,@ArnavAggarwal! 因此,基本上它在輸入語句中是什麼,輸出應該是: '[{「a」:1,「b」:2},{「a」:1,「b」:2,「c 「:3}]'因爲這兩個對象同時包含'a'和'b'。 –