相关疑难解决方法(0)

如何从JavaScript对象中删除属性?

假设我创建一个对象如下:

var myObject = {
    "ircEvent": "PRIVMSG",
    "method": "newURI",
    "regex": "^http://.*"
};
Run Code Online (Sandbox Code Playgroud)

什么是去除财产的最好方式regex与新落得myObject如下?

var myObject = {
    "ircEvent": "PRIVMSG",
    "method": "newURI"
};
Run Code Online (Sandbox Code Playgroud)

javascript object-properties javascript-objects

5813
推荐指数
39
解决办法
208万
查看次数

从对象中删除值而不进行变异

在不改变原始对象的情况下从特定键的对象中删除值的好方法和简短方法是什么?

我想做点什么:

let o = {firstname: 'Jane', lastname: 'Doe'};
let o2 = doSomething(o, 'lastname');
console.log(o.lastname); // 'Doe'
console.log(o2.lastname); // undefined
Run Code Online (Sandbox Code Playgroud)

我知道有很多不可变的库用于这样的任务,但我想在没有库的情况下离开.但要做到这一点,一个要求是有一个简单而简短的方法可以在整个代码中使用,而不会将方法作为效用函数抽象出来.

例如,为了添加值,我执行以下操作:

let o2 = {...o1, age: 31};

这很简单,易于记忆,不需要实用功能.

是否有类似的东西去除值?ES6非常受欢迎.

非常感谢你!

javascript immutability

77
推荐指数
5
解决办法
5万
查看次数

ES6 解构:如何创建一个省略动态引用键的新对象

当键引用是动态的时,是否有 ES6(及更高版本)解决方案使用解构和扩展运算符创建一个新对象,其中键和值从原始对象中删除,因此:

const state = {
   12344: {
      url: 'http://some-url.com',
      id: '12344'
   },
   12345: {
      url: 'http://some-other-url.com',
      id: '12345'
   }
}

const idToDelete = 12344

const { [idToDelete], ...newState } = state // dynamic key

console.log('newState:', newState)

// desired newState would only have the key 12345 and its value
Run Code Online (Sandbox Code Playgroud)

除非这是我目前的 Babel 设置,否则我无法弄清楚 ES6 的清洁方式(如果存在的话)。

提前谢谢了

javascript javascript-objects ecmascript-6

2
推荐指数
1
解决办法
691
查看次数