ES6 javascript语法错误哈希的数组映射

时间:2017-08-23 08:42:25

标签: javascript ecmascript-6

这是一个愚蠢的问题,但我只是坚持到这里。

前提

QStackedLayout

我想输出这个

if (![CNContactStore class]) {
    // do stuff
}

我不明白为什么会导致错误。

let groups = [
  {id: 1, name: '123'},
  {id: 2, name: '456'}
]

3 个答案:

答案 0 :(得分:1)

将返回的对象包装到()。使用()花括号将被视为箭头函数的主体,并且在体内你的表达式无效。



let groups = [
  {id: 1, name: '123'},
  {id: 2, name: '456'}
]

var groupOptions = groups.map(item =>
  ({value: item.id, label: item.name})
);

console.log(groupOptions);




答案 1 :(得分:0)

let groups = [
  {id: 1, name: '123'},
  {id: 2, name: '456'}
]
var output = groupOptions = groups.map(item =>
  {return {value: item.id, label: item.name}}
)

console.log(output);

您需要将地图回调代码包装在{}:

let groups = [
  {id: 1, name: '123'},
  {id: 2, name: '456'}
]
groupOptions = groups.map(item =>
  {return {value: item.id, label: item.name}}
)

答案 2 :(得分:0)

如果你对item回调的map参数进行解构,那就更清晰了:

let groups = [
  {id: 1, name: '123'},
  {id: 2, name: '456'}
]
var output = groupOptions = groups.map(({id,name}) => 
    ({value:id, label:name})
);

// or you can do the mapping right in the arguments:

var output = groupOptions = ggroups.map(({id:value,name:label}) =>
    ({value, label})
);