簡體   English   中英

JavaScript forEach 循環使用 .push() 將一個數組分成其他數組

[英]JavaScript forEach loop separating an array into other arrays using .push()

新來的,現在一直試圖解決這個問題。 似乎無法找到答案。

問題:試圖將所有數字從 5 向上分離到一個單獨的數組“bigNumbers”中。 所有其他數字到“smallNumbers”

這是我到目前為止所擁有的:

let allNumbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]; 
let bigNumbers = []; 
let smallNumbers = [];

allNumbers.forEach(function (a) {
  if(allNumbers >= 5) {
    return allNumbers.push(bigNumbers);
  } else {
    return allNumbers.push(smallNumbers);
  }
});

在這里使用 .push() 方法可能完全采取了錯誤的方法。 任何反饋表示贊賞。

您正在測試錯誤的變量,它應該是a ,而不是allNumbers .push()的參數是您要推入數組的值,而不是要推入數組的值。 也不需要使用return ,因為forEach不使用返回值。

 let allNumbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]; let bigNumbers = []; let smallNumbers = []; allNumbers.forEach(function (a) { if(a >= 5) { bigNumbers.push(a); } else { smallNumbers.push(a); } }); console.log("Big: " + JSON.stringify(bigNumbers)); console.log("Small: " + JSON.stringify(smallNumbers)); 

if (allNumbers >= 5)if (allNumbers >= 5)

您想知道當前要迭代的數字是否大於5:

if (a >= 5)...

1)您正在將數組與數字進行比較(allNumbers> 5)

2)呼叫推送時不需要回電

3)您需要插入bigNumbers和samllNumbers數組,而不是原始數組

let allNumbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]; 
let bigNumbers = []; 
let smallNumbers = [];

allNumbers.forEach(function (a) {
 if(a >= 5) {
 bigNumbers.push(a);
 } else { 
 smallNumbers.push(a);
}
});

暫無
暫無

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

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