Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于JavaScript中的另一个数组值从数组中选择元素_Javascript_Arrays_Dictionary_Filter_Match - Fatal编程技术网

基于JavaScript中的另一个数组值从数组中选择元素

基于JavaScript中的另一个数组值从数组中选择元素,javascript,arrays,dictionary,filter,match,Javascript,Arrays,Dictionary,Filter,Match,对不起,这个基本的问题。。。我对JS比较陌生 我有两个数组,希望根据另一个数组的值从其中选择值 例如,如果我有 var student = [10, 11, 21, 30, 31, 14]; var class = [1, 1, 2, 3, 3, 1]; 例如,我如何继续(理想情况下使用过滤器和/或映射)获取class=1中的学生编号列表 我知道如何使用for循环和push()函数来完成这项任务,但我认为应该有一种更优雅/简洁的方法来使用map、filter或其他函数在单行命令

对不起,这个基本的问题。。。我对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类=[1,1,2,3,3,1];
console.log(
学生过滤器((u,i)=>classes[i]==1)

);
class
JavaScript
中的保留字。为了获得预期的输出,您可以使用返回
classes[index]
值为1的元素:

const students=[10,11,21,30,31,14];
常量类=[1,1,2,3,3,1];
const getStudentsInClassOne=(arr=[])=>{
if(arr.length!==classes.length)返回;
返回arr.filter((e,index)=>classes[index]==1);
}

log(getStudentsInClassOne(students))谢谢大家的评论。我的问题并非如你所想象的那样,因此我没有意识到一个名为“class”的变量的问题

我喜欢带过滤功能的两个答案。它们几乎完全相同,只是第一个解决方案中的e被下划线替换。我将来会在谷歌上搜索该下划线的用法:我想这里可以使用它,因为没有使用“e”,因此不相关


再次感谢您的帮助和时间!:)

对于我来说,
循环听起来非常优雅,tbh。在
class=1
中产生的学生编号列表是什么?也许可以演示您使用for循环和
push
方法尝试了什么?