如何在Javascript中将数组与具有键/值(属性:值)的对象进行比较?
如果它们只是数组,我将如何做到这一点:
for (var l = 0; l < vm.statesNotAvailable.length; l++)
{
for (var m = 0 ; m < vm.statesNotAvailable.length; m++)
{
//Maps the values to their keys inside vm.statesArray
if (vm.statesNotAvailable[l] == vm.statesWithCodes[m]) {
delete vm.statesWithCodes.m;
}
}
}
如果它们都是对象,我就会这样做:
for (var key in object) {
if (vm.statesNotAvailable.hasOwnProperty(key)) {
//Now, object[key] is the current value
if (vm.statesNotAvailable[key] === vm.statesArray[key] )
delete object[key];
}
}
然而,这些都不适合我。那么,我如何删除我的对象中与数组内的值相交的键,尽管索引(位置)?
答案 0 :(得分:0)
以下是解决方案:
//Iterates through properties of object
for (var property in vm.statesWithCodes)
{
//Iterates through indices of array
for (var m = 0 ; m < vm.statesNotAvailable.length; m++)
{
//Compares keys of object w/ values of array
if (property == vm.statesNotAvailable[m])
{
//Deletes the property sequentially
delete vm.statesWithCodes[property];
}
}
}