簡體   English   中英

根據 JavaScript 中的另一個數組值從數組中選擇元素

[英]Selecting elements from an array based on another array values in JavaScript

對不起這個基本問題......我對JS比較陌生。

我有兩個 arrays 並希望根據另一個的值從一個 select 值。

例如,如果我有

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

例如,我將如何繼續(理想情況下使用過濾器和/或映射)以獲取class = 1中的學生編號列表。

我知道如何使用 for-loop 和 push() function 來完成此任務,但我認為應該有一種更優雅/簡潔的方式來使用 map、過濾器或其他功能在單行命令中執行該任務。

提前感謝您的幫助。

通過檢查另一個數組中的索引來過濾學生將非常簡單:

 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中的保留字。 要實現預期的 output,您可以使用.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) );

謝謝大家的意見。 正如您可以想象的那樣,我的問題並不完全是這樣,因此我沒有意識到名為“類”的變量的問題。

我喜歡過濾器 function 的兩個答案。 它們幾乎完全相同,除了在第一個解決方案中將 e 替換為下划線。 我將在未來使用該下划線運行谷歌搜索:我想它可以在這里使用,因為'e'沒有被使用,因此無關緊要..

再次感謝您的幫助和時間::)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM