【问题标题】:Get property from an object从对象中获取属性
【发布时间】:2015-06-21 04:33:30
【问题描述】:

我有一个包含以下值的对象

[{"text":"Tag1"},{"text":"Tag2"},{"text":"Tag3"}]

这些在变量 autosuggest 中。现在我只想获取值

Tag1, Tag2, Tag3 

我已经尝试过这样做

var textOnly = autosuggest.text 

然后,我得到一个“未定义”的

var textOnly = autosuggest[0]

然后我只得到第一个字符串,'Tag1'

感谢您的提示

【问题讨论】:

  • 你需要遍历这个。
  • @Paulpro:让它成为一个答案(我重新打开了这个问题,副本太可怕了,但这一定是以前问过的......)

标签: javascript arrays


【解决方案1】:

可以使用Array.prototype.map遍历数组,获取每个元素text属性:

var result = autosuggest.map( function( tag ) { return tag.text; } );

【讨论】:

    【解决方案2】:

    如果你说你想得到一个以逗号分隔的值列表的字符串,那么就可以了:

    var textOnly = autosuggest.map(function(el){
                     return el.text;
                   }).join(", ");
    // "Tag1, Tag2, Tag3"
    

    如果你想得到一个包含三个元素的数组,每个元素都是一个带有一个标签名称的字符串,那么请不要使用.join() 部分:

    var textOnlyArray = autosuggest.map(function(el){
                          return el.text;
                        });
    // ["Tag1", "Tag2", "Tag3"]
    

    MDN 上的更多信息:

    【讨论】:

    • 太棒了! textOnly-Version 摇滚!谢谢nnnnn
    【解决方案3】:

    遍历自动建议:

    autosuggest.forEach(function(tag){ console.log(tag.text); }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-04
      • 2011-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多