-1

配列があるとします:

var ay=[0,1,2,3,4,5,6,7,8,9];

今、私は2つの配列を取得したい:

var ay1=[0,2,4,6,8];
var ay2=[1,3,5,7,9];

効率の良い方法とは?


アップデート:

次のような単純なループとモジュロ演算子の方法(前述)を知っていますelclanrs

var ay1=[],ay2=[];
for(var i=0,len=ay.length;i++){
  if(i%2==0){
    ay2.push(ay[i]);
  } else 
    ay1.push(ay[i]);
}

しかし、私がまだ知らない効率的またはクールな方法が他にあるのではないかと思います。

だからこそ、私はこの単純な質問をします。私はどうしたらよいかを尋ねているのではなく、可能であればより良くする方法を尋ねているのです!

したがって、この投稿が反対票に値するとは思いません。

4

8 に答える 8

0
funciton isEven(x) {
   return x % 2 == 0;
}
function isOdd(x) {
   return ! isEven(x);
}

var arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
    arrEven = arr.filter(isEven),
    arrOdd = arr.filter(isOdd);
于 2013-06-20T04:19:30.813 に答える