【发布时间】:2017-06-22 08:22:19
【问题描述】:
给定一个元素数组,如 ["a","r","g"] 和一个对象,我试图删除键是数组元素的键/值对。
function shorten(arr, obj) {
var keys = Object.keys(obj); //make an array of the object's keys
for(var i = 0; i < arr.length; i++) //loop for original array (arr)
for(var j = 0; j < keys.length; j++) //loop for "keys" array
if(arr[i] === obj[keys[j]]) //check for array element matches
delete obj[keys[j]]; //delete the matches from object
return obj; //return the new object
}
var arrA = ['a','r', 'g'];
var oB = {a: 4, u: 1, r: 2, h: 87, g: 4};
console.log(shorten(arrA,oB)) //I keep getting the original object
//The function isn't shortening things
//desired output is:
{u: 1, h: 87}
对于任何阅读本文并可以帮助我的人,提前感谢您。
【问题讨论】:
标签: javascript arrays function object key