将对象数组中的属性提取为字符串

时间:2017-04-30 14:21:22

标签: javascript arrays object

我有这个对象数组,我需要导出到字符串,所有数据库值。

   [
          ...

          {
            "db": "DT_INI_PROC",
            "prv_value": "",
            "nxt_value": "",
            "diagnostic": "",
            "datatype": "date"
          },
          {
            "db": "DSP_PROC",
            "prv_value": "",
            "nxt_value": "",
            "diagnostic": ""
          },
...
          {
            "db": "DESCRICAO",
            "prv_value": "",
            "nxt_value": "",
            "diagnostic": ""
          },
          ....
        ]

我需要一个包含所有" db"的字符串。用逗号分隔为:

"...DT_INI_PROC,DSP_PROC,...,DESCRICAO..."

3 个答案:

答案 0 :(得分:2)

您可以使用Array#mapArray#join方法。

  • Array#map仅获取db个键值。
  • Array#join将返回的数组更改为字符串。



var arr = [{
      "db": "DT_INI_PROC",
      "prv_value": "",
      "nxt_value": "",
      "diagnostic": "",
      "datatype": "date"
    },
    {
      "db": "DSP_PROC",
      "prv_value": "",
      "nxt_value": "",
      "diagnostic": ""
    },
    {
      "db": "DESCRICAO",
      "prv_value": "",
      "nxt_value": "",
      "diagnostic": ""
    }
  ],
  res = arr.map(v => v.db).join(',');

console.log(res);




答案 1 :(得分:2)

只是减少就足够了;

String[]

答案 2 :(得分:0)

你可以这样做:



var data=     [
          

          {
            "db": "DT_INI_PROC",
            "prv_value": "",
            "nxt_value": "",
            "diagnostic": "",
            "datatype": "date"
          },
          {
            "db": "DSP_PROC",
            "prv_value": "",
            "nxt_value": "",
            "diagnostic": ""
          },

          {
            "db": "DESCRICAO",
            "prv_value": "",
            "nxt_value": "",
            "diagnostic": ""
          }
          
        ];
        
        var res = data.map(function(v,i) {return v.db;});
        console.log(res.join(','));