2016-11-18 8 views
-3

私は以下の配列を持っています。配列を別の配列にプッシュ

var arr1=[1,2,3]; 
var arr2=[4,5,6]; 
var arr3=[]; 

にはどうすればARR1を押すと結果があるようにARR3にARR2ます:

arr3=[[1,2,3],[4,5,6]]; 

ない

.concat方法を使用したときに生成される
arr3=[1,2,3,4,5,6]; 

+5

'push()'を使用しますか? – epascarello

+1

どのようにして最初に結果[[1,2,3,4,5,6] 'を得ることができましたか? – deceze

+0

ジーウィズ私はそれからとてもです。私はreturn文でpush()を使いました。 – valzavagoth

答えて

5

var arr1=[1,2,3]; 
 
var arr2=[4,5,6]; 
 
var arr3=[]; 
 
arr3.push(arr1,arr2); 
 
console.log(arr3);

1
var arr1=[1,2,3]; 
var arr2=[4,5,6]; 
var arr3 = [arr1,arr2]; 
console.log(arr3); 
0

あなたは他の回答や、この中のようなpush()を使用することができます。他のユーザーが投稿したとして、あなたの問題の解決策は、()メソッドを.push使用している

var arr1 = [1,2,3]; 
var arr2 = [4,5,6]; 
var arr3 = [arr1, arr2]; 
console.log(arr3); 
0

が、私がしようとするだろうこれらの2つの方法に関する詳細情報を提供します。

私はこれを読むことをお勧めしますarticle、私のために非常に便利です。私はあなたのために以下の主な情報を要約します。あなたがメソッドを呼び出した配列に、入力引数た一つ以上の要素を追加したいとき

プッシュ方式

Pushメソッドが使用されています。

A単に例は以下である:

var first_array = [1, 2, 3]; 
var result = first_array.push(4, 5, 6); 
console.log(result); // 6 
console.log(first_array); // [1, 2, 3, 4, 5, 6] 

一つは直ちに明らかではないことは、それが新しい値ではなく、改変配列を加えた後、配列の長さを返すことです。プッシュそれを起動アレイ、元の配列は配列/ Sまたは値/ Sと結合して新しい配列を返し連結を変更しながら

CONCAT METHOD

に:(console.log(result);三行目を確認してください)議論として提供された。

concatについての注意点と、返される配列の作成方法があります。

文字列と数字の両方が配列にコピーされます。つまり、元の値が変更された場合、新しい配列の値は影響を受けません。

これはオブジェクトには当てはまりません。

オブジェクトを新しい配列にコピーする代わりに、参照が代わりにコピーされます。つまり、オブジェクトの値が1つの配列で変更された場合、オブジェクトの値が一意のコピーではないため、他の配列でも値が変更されます。

A、単に一例は以下の通りです:

var test = [1, 2, 3]; // [1, 2, 3] 
var example = [{ test: 'test value'}, 'a', 'b', 4, 5]; 
var concatExample = test.concat(example); // [1, 2, 3, { test: 'test value'}, 'a', 'b', 4, 5] 
example[0].test = 'a changed value'; 
console.log(concatExample[3].test); // Object { test: "a changed value"} 
example[1] = 'dog'; 
console.log(concatExample[4]); // 'a' 

私は、この例であなたのためにfiddleを作成しました。

関連する問題