javascript 配列同士を足して数を数えたいのですが、うまくきません。


var Array1 =["1","2","3","4"]
var Array2 =["a","b","c"]
Array1.push(Array2)
alert("Array1="+Array1+"要素数は"+Array1.length)

期待する配列の要素数は7なのですが、結果は5個です。
このような場合どうやってArray1+Array2を合わせた後のArray1の配列の要素数を出すのでしょうか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2016/11/03 11:05:03

ベストアンサー

id:a-kuma3 No.1

回答回数4973ベストアンサー獲得回数2154

concat メソッドを使います。

var Array1 =["1","2","3","4"]
var Array2 =["a","b","c"]
Array1 = Array1.concat(Array2)  // Array.concat() は、新しい配列を作って返す
alert("Array1="+Array1+"要素数は"+Array1.length)

concat() メソッドは、配列に他の配列や値をつないでできた新しい配列を返します。

Array.prototype.concat() - JavaScript | MDN

push メソッドを使った場合には、Array1 は以下のようになってます。

[
    "1",
    "2",
    "3",
    "4",
    ["a","b","c"]   // 配列のひとつの要素が配列になってる
]
他2件のコメントを見る
id:kajironpu

プログラム言語によって命令がいろいろと異なるのですね
複数言語を使いこなす人は、混乱しないのでしょうか!?
ありがとうございます。

2016/10/31 15:33:38
id:a-kuma3

たまに勘違いをすることはあっても、混乱するところまでは行かないです。
「簡単にやる方法があったはずだよなあ」まで覚えておけば、後はリファレンスを引きます。
よく使うものであれば、そのうち「ここが違ってたんだよな」というような覚え方をしますし。

2016/10/31 15:58:46

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません