js使用数组移位删除对象属性

时间:2017-02-08 05:05:00

标签: javascript object

我在js中有一个数组和对象:

var number = [23,234,654,3234];
var detail = {
              23:"John",
              234:"Doe",
              654:50,
              3234:"blue"
            };

然后使用var remove = number.shift(),我可以得到数组中的第一个值(在本例中为23)并将其从数组中删除。

我正在尝试从对象中删除相应的属性:在这种情况下,它将是23:"John"

我试过delete detail.remove;但没有运气。

有什么建议吗?

由于

2 个答案:

答案 0 :(得分:1)

根据MDN,delete operator后跟一个应该评估为属性引用的表达式。您的示例delete detail.remove实际上是正确的。

但是,如果要以编程方式访问属性(或编号属性,例如23),请使用bracket notation

// with variable
delete detail[remove];

// with string or integer
delete detail[23];

答案 1 :(得分:1)

你不能在obj.variable中使用变量,正确的方法是obj [variable]。

所以试试这个:

 delete detail[remove];