人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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の配列の要素数を出すのでしょうか?

●質問者: kajironpu
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
ベストアンサー

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"] // 配列のひとつの要素が配列になってる
]

kajironpuさんのコメント
a-kuma3 ありがとうございます。なかなか調べても解答が得られず困っておりました。そして配列の固まりごとに繋いでいるから個数が4+1=5個になっていたんですね。 ありがとうございます。これで先に進めそうです。

a-kuma3さんのコメント
割りと、あるあるかも。 言語は Python ですが、最近こんなのもあったり。 http://q.hatena.ne.jp/1477499978

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

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

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ