提问者:小点点

使用Javascript在逗号分隔的字符串中查找新值


我有一个数组

       obj = ["30890560", "29092960", "28652336", "28642195", "26512957", "26190575", "25465297", "25144372", "23579449"]

我需要将其与逗号分隔的字符串进行比较

     "29092960,28652336,28642195,26512957,26190575,25465297,25144372"

有没有办法让我以一个新的逗号分隔的字符串结尾,比如

       let newList = "30890560,23579449"

数组的值总是比用于比较的字符串多。这需要在Vue. js页面中使用JavaScript来完成,所以没有jQuery。

我需要拆分逗号分隔的字符串并比较数组中的每个值吗?

大约

        ["30890560", "29092960", "28652336", "28642195", "26512957", "26190575", "25465297", "25144372", "23579449"].includes('30890560');

会创建一个寻找假值的循环吗?我需要一些帮助来构建循环。谢谢。


共3个答案

匿名用户

const arr1 = ["30890560", "29092960", "28652336", "28642195", "26512957", "26190575", "25465297", "25144372", "23579449"];
const str = "29092960,28652336,28642195,26512957,26190575,25465297,25144372";
const arr2 = str.split(','); // Convert CSV String to array

const res = arr1.filter(v => !arr2.includes(v));

console.log(res)

匿名用户

您可以使用拆分、设置和过滤

const arr1 = ["30890560", "29092960", "28652336", "28642195", "26512957", "26190575", "25465297", "25144372", "23579449"]
const str = "29092960,28652336,28642195,26512957,26190575,25465297,25144372"
const arr2 = new Set(str.split(','))

const output = arr1.filter(v => !arr2.has(v));

console.log(output)

匿名用户

你可以用JavaScript的split()方法把字符串分成一个字符串数组。然后比较这两个数组。

var obj = ["30890560", "29092960", "28652336", "28642195", "26512957", "26190575", "25465297", "25144372", "23579449"];

var str = "29092960,28652336,28642195,26512957,26190575,25465297,25144372";

var list = str.split(',');

console.log(list);

// Loop over two arrays to compare their equality.
for (let i = 0; i < list.length; i++) {
   if (list[i] !== obj[i]) {
     // Do something.
   }
}