javascript - 使用angularjs中的另一个(键,值)对象过滤字符串数组中的匹配项

标签 javascript arrays angularjs json foreach

我使用 angular 作为前端。我有以下字符串数组。我想用另一个“(键,值)对象”的匹配键过滤这个“数组”。

字符串数组:

var stringArr = ["vijay-1110","viki-1100","ram-2110","mark-2100"]

(键,值)对象:

var obj = {"viki-1100":6,"mark-2100":2}

只返回 stringArr 中不匹配的键,所以需要的输出:

var result = ["vijay-1110","ram-2110"]

我没有尝试过下面的代码,它没有返回所需的输出?

var filterFunction = function(stringArr,obj){
if(angular.equals({}, obj)){
    return stringArr;
}
else{
    _.each(stringArr,function(input,index){
        Object.keys(obj).forEach(function(key) {
            if(input === key){
                stringArr.splice[index,1];
            }
        });
    });
    return stringArr;
}

这不会过滤stringArr,它总是返回stringArr中的所有结果吗?

最佳答案

尝试

stringArr.filter( s => typeof obj[s] != "undefined" ) 

编辑

我意识到 OP 正在寻找与我的答案相反的东西,所以只需将 != 替换为 ==

stringArr.filter( s => typeof obj[s] == "undefined" ) 

关于javascript - 使用angularjs中的另一个(键,值)对象过滤字符串数组中的匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47647488/

相关文章:

javascript - 根据所有属性值过滤对象数组

Java - 需要帮助找到数组的最短字符串,我与我所看到的很接近,但出现错误,

javascript - setTimeout 不起作用 JavaScript "style undefined"

JavaScript 函数传递值无法正常工作

arrays - 如何在堆中存储数组?

php - 在 PHP MYSQL 中 POST FORM 的更短方法

javascript - Angular 错误 : [$injector:unpr] while adding ui. Bootstrap

javascript - 选项卡和侧面菜单 - 状态链接不起作用

javascript - javascript中的蓝牙耳机按钮事件检测

javascript - ionic 在某些 div 元素上滑动回来,而不是带动画的 ionic View