在Javascript中将数组与对象属性进行比较

时间:2014-10-17 15:11:06

标签: javascript arrays object properties

如何在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];
                            }
                        }

然而,这些都不适合我。那么,我如何删除我的对象中与数组内的值相交的键,尽管索引(位置)?

1 个答案:

答案 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];
                                }
                            }
                        }
相关问题