首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ES6扩展对象数组的语法,并获取对象属性

ES6扩展对象数组的语法,并获取对象属性
EN

Stack Overflow用户
提问于 2017-02-07 23:47:11
回答 2查看 3.8K关注 0票数 0

我有一个对象数组如下:

代码语言:javascript
复制
const data = [
  {
    'name': 'A',
    'v0': true,
    'values': [
      { 'v': true, 'k': 1 },
      { 'v': false, 'k': 2 },
      { 'v': true, 'k': 3 },
      { 'v': false, 'k': 4 }
    ]'
  },
  ...
]

下面的函数从数据对象中提取params namev0values,并通过创建具有属性的单元格数组来呈现表的一行。

v0是布尔值,根据其值,呈现函数可能对单元格应用一些样式。

当值的数目是预先确定的时,这是很好的,因为它们可以列出: v0,v1 .

但是,我有一个值数组,并希望在应用唯一键的同时扩展它,如下面的v0所示:

代码语言:javascript
复制
const renderBodyRow = ({ name, v0, values }) => ({
  cells: [
    name,
    v0 ? { key: '0', content: v0, color: 'green' } : { key: '0', content: v0, color: 'red' },
    ...values //  need to apply the same, but on the values array

  ]
})

一种方法是将值作为布尔值数组:values: [true, false, true, false]

这需要在renderBodyRow函数中创建一个唯一的键。这个是可能的吗?

或者将values数组定义为具有值和键的对象数组。在这种情况下,如何传播语法才能访问这些对象的属性?

对于如何使用扩展语法实现这两种方法中的一种(或两者),有什么想法吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-07 23:56:39

您将需要使用Array.prototype.map来将每个值转换为具有所需样式的对象。您可以使values成为一个布尔数组,然后使用每个值的索引作为唯一键。

代码语言:javascript
复制
const data = [{
  name: 'A',
  values: [true, true, false, true, false]
}];

const renderBodyRow = ({ name, values }) => ({
  cells: [
    name,
    ...values.map((val, index) => ({
      key: String(index),
      content: val,
      color: val ? 'green' : 'red'
    }))
  ]
});

console.log(data.map(renderBodyRow));
代码语言:javascript
复制
.as-console-wrapper { max-height: 100% !important; }

票数 4
EN

Stack Overflow用户

发布于 2017-02-08 00:05:32

你好像在找

代码语言:javascript
复制
function renderBodyCell({ k, v }) {
  return {
    key: k,
    content: v,
    color: v ? 'green' : 'red'
  };
}
function renderBodyRow({ name, v0, values }) {
  return {
    cells: [
      name,
      renderBodyCell({ k: '0', v: v0 }),
      ... values.map(renderBodyCell)
    ]
  };
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42102145

复制
相关文章

相似问题

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