Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript使用另一个数组过滤一个对象数组_Javascript_Arrays_Filter_Compare - Fatal编程技术网

JavaScript使用另一个数组过滤一个对象数组

JavaScript使用另一个数组过滤一个对象数组,javascript,arrays,filter,compare,Javascript,Arrays,Filter,Compare,在比较或检查两个不同的对象数组并返回数据时,最好的算法或方法是什么。我有一个对象数组,在下面的图片上是包含技能数组的作业。我有一系列的技能,其中包含了技能,我想检查技能系列中的任何技能是否存在于工作技能中。如果技能数组中的任何技能存在于工作中,那么只返回与技能匹配的工作。我希望,只有从一系列技能中获得匹配技能的工作才会返回。它将检查作业中是否存在技能数组中的任何项目,如果甚至存在一个或多个项目,它将返回匹配的作业。谢谢 作业(包含技能数组的对象数组) 技能(技能数组) 获取工作响应的代码 工

在比较或检查两个不同的对象数组并返回数据时,最好的算法或方法是什么。我有一个对象数组,在下面的图片上是包含技能数组的作业。我有一系列的技能,其中包含了技能,我想检查技能系列中的任何技能是否存在于工作技能中。如果技能数组中的任何技能存在于工作中,那么只返回与技能匹配的工作。我希望,只有从一系列技能中获得匹配技能的工作才会返回。它将检查作业中是否存在技能数组中的任何项目,如果甚至存在一个或多个项目,它将返回匹配的作业。谢谢

作业(包含技能数组的对象数组)

技能(技能数组)

获取工作响应的代码 工作技能
试试这个:

var skillObj=[
“Python”,
“Photoshop”,
“Java开发”,
“系统管理员”,
“软件工程师”
];
var jobObj=[{
“地址”:“地址1”,
“公司”:“abc”,
“技能”:[“软件工程师”、“人力资源”]
},{
“地址”:“地址2”,
“公司”:“xyz”,
“技能”:['Python','Photoshop']
},{
“地址”:“地址3”,
“公司”:“阿尔法”,
“技能”:[‘数据分析师’、‘BA’]
}];
var res=jobj.filter(obj=>{
返回skillObj.some(r=>obj.skills.indexOf(r)>=0);
});
控制台日志(res)
data.jobs_data(me, params, token).then(function (response) {
            me.record.is_searching = false
            if (response.status == "200") {
                me.records.jobs = response.data.data
                console.log("Jobs:", me.records.jobs)
                var count = response.data.count
                count = count + 1
                me.setKeyWords(me.filters)
                Pagination.init(me, count)
                $timeout(function () {
                    me.record.is_searching = false
                }, 400)

            }
        })
  me.load_job_details = function (detail) {
           console.log("Skills :" , me.record.job_detail.skills)
    }