javascript - 通过比较 2 个数组在 JavaScript 中创建一个字符串变量

标签 javascript arrays

我有 2 个 JavaScript 数组,如下所示;

arr1 = [CRS02,CRS04,CRS03,CRS01,CRS05];
arr2 = [CRS02,CRS03,CRS05];

arr2 包含少于或等于 arr1 的元素。

我想创建一个如下所示的字符串。

CRS02,--,CRS03,--,CRS05

如果 arr2 中的元素包含在 arr1 中,则应显示该元素,否则应显示“--”。

我试过如下,

for (a = 0; a < arr1.length; a++) {
    for (c = 0; c < arr2.length; c++) {
        if (arr1[a] == arr2[c]) {
            content +=  arr2[c] + ",";
            continue;
        } else {
            content += "--,";
        }
    }
   continue;
}

    alert(content);

但无法正常工作。请帮忙。

最佳答案

假设

  • Array 项目已排序(如果没有,则需要对它们进行排序)
  • arr2 不包含任何不属于 arr1
  • 的元素

使用map迭代检查每个itemindex是否不为-1

var output = arr1.map( s => arr2.indexOf( s ) != -1 ? s : "--" );

演示

var arr1 = ["CRS02","CRS04","CRS03","CRS01","CRS05"];
var arr2 = ["CRS02","CRS03","CRS05"];
var output = arr1.map( s => arr2.indexOf( s ) != -1 ? s : "--" );
console.log( output );

关于javascript - 通过比较 2 个数组在 JavaScript 中创建一个字符串变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48021383/

相关文章:

arrays - Swift 4 对象数组包含字符串值

javascript - 元组/二维数组的 ES6 映射函数

javascript - 解析 - 将对象添加到指针

javascript - jQuery 嵌套数组..获取直接父 id

Java 数组和子数组

javascript - 为什么 'delete' 在 javascript 中很慢?

javascript - 使用 ASPX 和 DEVExpress 覆盖 IE 8 上的 JS focus() 方法 ...

javascript - Rails 删除链接有点太多了,为什么?

javascript - 修改对象数组以按键和值分组为嵌套的父/子对象数组

javascript - 将国家/地区的 Javascript 数组映射到新数组中