匹配來自陣列搜索與價值第一的值,所以我們說,我們有兩個數組使用Javascript - 從其他陣列
const arr1 = [1, 2, 3, 4, 5];
const arr2 = [6, 7, 8, 9, 10, 4, 5,];
我想不用做兩個for循環只返回第一個匹配值。所以不要通過從arr1
獲取第一個值,然後在arr2
中查找第二個值。我需要返回4
。
在沒有jQuery的React/Redux環境中工作可能。
匹配來自陣列搜索與價值第一的值,所以我們說,我們有兩個數組使用Javascript - 從其他陣列
const arr1 = [1, 2, 3, 4, 5];
const arr2 = [6, 7, 8, 9, 10, 4, 5,];
我想不用做兩個for循環只返回第一個匹配值。所以不要通過從arr1
獲取第一個值,然後在arr2
中查找第二個值。我需要返回4
。
在沒有jQuery的React/Redux環境中工作可能。
您可以使用find()
與includes()
方法。
const arr1 = [1, 2, 3, 4, 5];
const arr2 = [6, 7, 8, 9, 10, 4, 5,];
var r = arr1.find(e => arr2.includes(e));
console.log(r)
Ecmascript5溶液(用Array.some()
功能):
var arr1 = [1, 2, 3, 4, 5],
arr2 = [6, 7, 8, 9, 10, 4, 5,],
result;
\t
arr2.some(function(n){ return arr1.indexOf(n) !== -1 && (result = n) })
console.log(result);
你可以使用的Set
力量。
const
arr1 = [1, 2, 3, 4, 5],
arr2 = [6, 7, 8, 9, 10, 4, 5],
result = arr2.find((s => a => s.has(a))(new Set(arr1)));
console.log(result);
任何特殊的理由,爲什麼你不想要的循環? –
也許他的老師說不要這樣做。 – epascarello
我使用了大量的數據,因此for循環需要很長時間才能執行。最後一個我花了大約20秒 –