首页 > 解决方案 > 传播要删除的语法

问题描述

我不想拔掉一把钥匙。看看这个

console.log(state);

我得到了{1: {here is next object}},下一个

const { 1: deletedValue, ...newState } = state;
console.log(newState);
console.log(state);

我得到

{1: {here is next object}}
{1: {here is next object}}

删除不起作用。我不明白为什么

在您邀请描述数据看起来更准确的评论中:

state: {1: {id: 1, content: {name: "xyz", surname: "dsd"}},
2: {id: 2, content: {name: "abc", surname: "dsq"}}
}

标签: javascriptecmascript-6babeljsspread-syntax

解决方案


它看起来像一个 babeljs 问题。

数字作为解构赋值的属性的问题。

var object = { 1: 40, foo: 41, bar: 42, baz: 43 },
    { 1: y, foo: z, ...x } = object;
    //^
    
console.log(x);
console.log(y);
console.log(z);

将字符串数字作为目标属性,而不仅仅是数字。

var object = { 1: 40, foo: 41, bar: 42, baz: 43 },
    { '1': y, foo: z, ...x } = object;
    //^^^
    
console.log(x);
console.log(y);
console.log(z);


推荐阅读