2

次のようなオブジェクトの配列があるとします。

 var nodes = [{"size":8,"name":"myName"},{"size":10,"name":"otherName"},{"size":11,"name":"userName"}];

arrからマップされたオブジェクトを含むnodesが、属性の名前が異なる配列を作成するにはどうすればよいですか。各属性にarr.rマップしたいので、次のようにします。size

thisSize = arr[0].r

にアッシング8する必要がありthisSizeます。私の質問を明確に説明したことを願っています。

4

2 に答える 2

4

プロパティを使用することもmap、Internet Explorer 8以前のサポートについて心配していない場合でも使用できますが、サポートしていると思います。繰り返して、新しいオブジェクトで新しい配列を作成するだけです。

var arr = [];

for(var i = 0; i < nodes.length; i++) {
    var node = nodes[i];

    arr.push({
        r: node.size
    });
}

push必要に応じて、オブジェクトedにプロパティをマップします。

于 2012-07-23T00:03:30.020 に答える
-1
    <script>
    function item(name,size){
      this.name = name;
      this.size = size;
    }

    var arr = [];
    arr[0] = new item("item 1",9);
    arr[1] = new item("item 2",14);

    alert("name: " + arr[0].name + " size:" + arr[0].size);
    alert("name: " + arr[1].name + " size:" + arr[1].size);
    </script>
于 2012-07-23T00:07:18.580 に答える