根據另一個 JavaScript 陣列的值獲取陣列元素
假設我們有兩個陣列,例如:
const array1 = ['a','b','c','d','e','f','g','h']; const array2 = [ 1, 0, 0, 1 , 0, 0, 1, 0];
這兩個陣列的長度必須相同。我們需要編寫一個函式,當提供第二個陣列中的一個元素時,返回第一個陣列的子陣列,該子陣列的所有元素的索引都對應於我們在第二個陣列中作為引數獲取的元素的索引。
例如:findSubArray(0) 應該返回:
[‘b’, ‘c’, ‘e’, ‘f’, ‘h’]
因為這些元素存在於第一個陣列的索引 1、2、4、5、7 處,而第二個陣列中這些索引處的值為 0。
因此,現在讓我們編寫此函式的程式碼:
示例
const array1 = ['a','b','c','d','e','f','g','h'];
const array2 = [ 1, 0, 0, 1 , 0, 0, 1, 0];
const findSubArray = (first, second, el) => {
if(first.length !== second.length){
return false;
};
return second.reduce((acc, val, ind) => {
if(val === el){
acc.push(first[ind]);
};
return acc;
}, []);
};
console.log(findSubArray(array1, array2, 0));
console.log(findSubArray(array1, array2, 1));輸出
控制檯輸出將是:
[ 'b', 'c', 'e', 'f', 'h' ] [ 'a', 'd', 'g' ]
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP