【问题标题】:extract fields from object从对象中提取字段
【发布时间】:2016-06-10 16:12:51
【问题描述】:

如果我有这个:

var myObj = [
  { name: 'A', number: 'b1',level: 0 },
  { name: 'B', number: 'b2',level: 0 },
];

如何提取所有名称,例如:

"names": {
  'A',
  'B'
}

【问题讨论】:

  • 因为它是一个数组
  • 期望的结果不是一个有效的对象。您可能必须手动将该表示形式构建为字符串。目前还不清楚您在这里实际想要完成什么。
  • 除了你不能只有名字:{ 'Mike', 'Rik', 'Tom' },因为名字中的所有值都将成为键,它们需要有值。
  • 接着@David 所说,javascript 中的对象就像java 中的映射,这意味着必须有一个映射到键的值。你想要的不是一个有效的对象。
  • 对象是键值对。因此,对于每个键 ('Mike', 'Rik', 'Tom'),您都需要一个匹配值 ('Mike': 'C')。如果您只想要一个没有匹配值的“键”列表,那么您需要一个数组。

标签: javascript


【解决方案1】:

您可以使用此函数获取值的数组,而不是对象属性(不适合):

function getColumn(arr, column) {
    return arr.map(function (rec) { return rec[column] });
}

// Sample data
var myObj = [
  { name: 'A', number: 'b1',level: 0 },
  { name: 'B', number: 'b2',level: 0 },
];

// Get names
var names = getColumn(myObj, 'name');

// Output
console.log(names);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 2019-06-07
    • 2020-02-09
    相关资源
    最近更新 更多