根据另一个 JavaScript 的相应值获取数组的元素

javascriptweb developmentobject oriented programming更新于 2025/10/15 14:04:17

假设我们有两个数组,例如考虑以下两个 −

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' ]

相关文章


有用资源