关于删除对象中一组数据的问题?

var obj = {'a':'b','c':'d','e':'f'};

var arr = ['a','c'];

for (var i in obj) {

    for (var k=0;k<arr.length;k++) {

        if (i != arr[k]) {

            delete obj[i];

            console.log(obj);

        }

    }

}

打印出来是这样的:

https://img1.mukewang.com/5befb5f300016c6301470082.jpg

但是我对象只要两组数据的时候:、

var obj = {'a':'b','c':'d'};

var arr = ['a',];

for (var i in obj) {

    for (var k=0;k<arr.length;k++) {

        if (i != arr[k]) {

            delete obj[i];

            console.log(obj);

        }

    }

}

https://img3.mukewang.com/5befb60900012fc901020018.jpg

这样就没问题了,
请问是我该怎么做。
谢谢!

小唯快跑啊
浏览 775回答 1
1回答

繁星点点滴滴

其实可以不需要循环数组:var obj = {'a':'b','c':'d','e':'f'};var arr = ['a','c'];for (let k in obj) {&nbsp; &nbsp; if (arr.indexOf(k) == -1) {&nbsp; &nbsp; &nbsp; &nbsp; delete obj[k];&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript