如何遍历数组中的值以匹配对象中的值并返回相应的对象?

时间:2019-08-19 16:08:02

标签: javascript arrays object lodash

我尝试搜索我在具有许多对象的另一个数组内的数组中获得的任何值。 我尝试使用lodash,但香草也可以。

我的参考数组如下:

let array1 = ["value1", "value2", "value8", "value9"]

我想在此对象数组中找到这些值:

let array2 = [{
  key1: xxx
  key2: value1
  key3: xxxx
}, {
  key1: value2
  key2: xxxx
  key3: xxxx
}, {
  key1: xxx
  key2: xxx
  key3: value3
}]

我尝试过

let finalData: []

let filterData = _.filter(array2, array1);
this.finalData = filterData

我希望返回一个包含所有匹配对象的数组:

[{
  key1: xxx
  key2: value1
  key3: xxxx
}, {
  key1: xxx
  key2: value2
  key3: xxxx
}]

我一直都得到一个空数组。 我需要为每种方法组合a吗?

奖金:如果返回未找到的值数组(值8,值9)会返回错误,那就太麻烦了。

1 个答案:

答案 0 :(得分:1)

#this snippet reads in folder paths from a file
while read line
do
    exists=false
    if [ -f "$line" ]; then
        exists=true
    fi
    if [ -d "$line" ]; then
        exists=true
    fi
    if [ $exists = false ]; then
        exit 1
    fi
    folderList+=" $line"
done < "$2"

echo $folderList #gets past here successfully

borg create -s --progress $1::${dateString} $folderList