检查是否在另一个数组中找到了一个数组的值

时间:2018-02-05 14:09:41

标签: javascript arrays

我不知道这种比较是否可行。我想比较下面列出的数组。

$array = ["User1-2", "User2-2", "User3-2", "User4-2"];

$array2 = ["User1-2:280", "User2-2:280", "User3-2:280", "User4-2:280"];
用户1-2的

结果为280,应该打印结果

3 个答案:

答案 0 :(得分:2)

您没有提供特定的答案格式,因此这是一个简单的实现,它遍历第一个数组中的所有元素,并检查第二个数组是否具有以它开头的值。

var $array = ["User1-2", "User2-2", "User3-2", "User4-2"];

var $array2 = ["User1-2:280", "User2-2:280", "User3-2:280", "User4-2:280"];

$array.forEach(x=> {
    var found = $array2.find(x=>x.startsWith(x));
    if (!!found) {
        console.log(x, found.split(':')[1]);
    }
});

答案 1 :(得分:1)

你可以在第二个数组中循环,在:分割,检查第一部分,如果匹配,则返回第二个



function findX(value, arr) {
  for (var i = 0; i < arr.length; i++) {
    var toSplit = arr[i].split(':');
    if (toSplit[0] === value) {
      return toSplit[1];
     }
  }
}

console.log(findX("User1-2", ["User1-2:280", "User2-2:280", "User3-2:280", "User4-2:280"]));
&#13;
&#13;
&#13;

答案 2 :(得分:1)

以下代码应该可以使用!

var $array = ["User1-2", "User2-2", "User3-2", "User4-2"];

var $array2 = ["User1-2:280", "User2-2:280", "User3-2:280", "User4-2:280"];

$array.forEach(element1=>{
  console.log(element1, $array2.find(element2=>element2.indexOf(element1)>-1).substring(element1.length+1))
})