根据JavaScript中的另一个数组值从数组中选择元素



很抱歉这个基本问题…我对JS比较陌生。

我有两个数组,想根据其中一个数组的值从另一个数组中选择值。

例如,如果我有

var student = [10, 11, 21, 30, 31, 14];
var class   = [1,   1,  2,  3,  3,  1];

我将如何继续(理想情况下使用过滤器和/或映射)以获得class = 1中的学生号码列表,例如

我知道如何使用for循环和push()函数来完成它,但我认为应该有一种更优雅/简洁的方法来使用map, filter或其他函数在单行命令中执行该任务。

提前感谢您的帮助。

通过检查另一个数组中的索引来筛选学生将非常简单:

var student = [10, 11, 21, 30, 31, 14];
var classes   = [1,   1,  2,  3,  3,  1];
console.log(
student.filter((_, i) => classes[i] === 1)
);

请记住,您不能使用class作为变量名-它是保留的。用别的吧

classJavaScript中的保留字。要获得预期的输出,可以使用.filter返回classes[index]值为1的元素:

const students = [10, 11, 21, 30, 31, 14]; 
const classes =  [1,  1,  2,  3,  3,  1];
const getStudentsInClassOne = (arr=[]) => {
if(arr.length !== classes.length) return;
return arr.filter((e,index) => classes[index]===1);
}
console.log( getStudentsInClassOne(students) );

相关内容

  • 没有找到相关文章

最新更新