var b = document.getElementsByName("button");
var l = document.getElementsByName("link");
これら2つのアレイのコンテンツを1つに追加するための最良の方法はどれですか?forループを使いたくない
var b = document.getElementsByName("button");
var l = document.getElementsByName("link");
これら2つのアレイのコンテンツを1つに追加するための最良の方法はどれですか?forループを使いたくない
を使用Array.prototype.slice.call()
してnodeLists
を実数配列に変換し、それらに対して配列操作を使用してそれらを組み合わせることができます
var b = document.getElementsByName("button");
var l = document.getElementsByName("link");
// make both nodeLists into real arrays
var copyB = Array.prototype.slice.call(b, 0);
var copyL = Array.prototype.slice.call(l, 0);
var combined = copyB.concat(copyL);
実際のデモ: http://jsfiddle.net/jfriend00/vZ5tb/
または、少し簡潔なバージョン:
var copyB = Array.prototype.slice.call(document.getElementsByName("button"), 0);
var copyL = Array.prototype.slice.call(document.getElementsByName("link"), 0);
var combined = copyB.concat(copyL);