首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在运行时更改对象属性名称

在运行时更改对象属性名称
EN

Stack Overflow用户
提问于 2012-07-23 07:59:20
回答 2查看 264关注 0票数 2

假设我有一个对象数组,如下所示:

代码语言:javascript
复制
 var nodes = [{"size":8,"name":"myName"},{"size":10,"name":"otherName"},{"size":11,"name":"userName"}];

如何创建包含从nodes映射的对象但属性具有不同名称的数组arr。假设我希望将arr.r映射到每个size属性,因此:

代码语言:javascript
复制
thisSize = arr[0].r

应该将8发送到thisSize。希望我把我的问题解释清楚了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-23 08:03:30

如果您不担心是否支持Internet Explorer8和更早的版本,那么可以使用属性或map,但我假设您是这样做的。只需使用新对象迭代并构造一个新数组:

代码语言:javascript
复制
var arr = [];

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

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

根据需要在object pushed中映射您的属性。

票数 4
EN

Stack Overflow用户

发布于 2012-07-23 08:07:19

代码语言:javascript
复制
    <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>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11604993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档