小编Cha*_*hat的帖子

lambda 函数中的解构返回意外值

当函数与解构一起使用时返回正确的预期值:
[{"k":"key1","v":"val1"},{"k":"key2","v":"val2"},{"k":"key3","v":"val3"}]

console.log(JSON.stringify([{
  k: 'key1',
  v: 'val1',
  z: 'z1'
}, {
  k: 'key2',
  v: 'val2',
  z: 'z2'
}, {
  k: 'key3',
  v: 'val3',
  z: 'z3'
}].map(function(x) {
  let {k, v} = x;
  return {k, v };
})));
Run Code Online (Sandbox Code Playgroud)

但是,当 lambda 函数与解构一起使用时,返回的值不正确:
[{"k":"key1","v":"val1","z":"z1"},{"k":"key2","v":"val2","z":"z2"},{"k":"key3","v":"val3","z":"z3"}]

    console.log(JSON.stringify([{
      k: 'key1',
      v: 'val1',
      z: 'z1'
    }, {
      k: 'key2',
      v: 'val2',
      z: 'z2'
    }, {
      k: 'key3',
      v: 'val3',
      z: 'z3'
    }].map(x => 
      ({k, v} = x) )));
Run Code Online (Sandbox Code Playgroud)

我如何在 lambda 函数内部使用解构,使其返回与function()上面使用显式相同的结果?

javascript lambda destructuring

4
推荐指数
1
解决办法
4012
查看次数

标签 统计

destructuring ×1

javascript ×1

lambda ×1