首页 > 解决方案 > JavaScript拼接超过1个值?

问题描述

如何splice将字符串值使输出仅变为'LA1','LA4'. 我尝试了下面的方法,但它仍然给了我string_2输出。

var string_1 = 'LA2,LA3'
var string_2 = "LA1,LA2,LA3,LA4";

var unique_1 = string_1.split(',');
var unique_2 = string_2.split(',');

const index = unique_2.indexOf(unique_1);
if (index > -1) {
  unique_2.splice(index, 1);
}
console.log(unique_2); 

标签: javascriptjquery

解决方案


而不是使用splice()You can filter()with includes()

var string_1 = 'LA2,LA3'
var string_2 = "LA1,LA2,LA3,LA4";

var unique_1 = string_1.split(',');
var unique_2 = string_2.split(',');

var filtered = unique_2.filter(s => !unique_1.includes(s))

console.log(filtered); 

如果您的列表非常大,您可能希望使用数组以外的其他东西,includes()例如Set提供恒定时间查找的 a。


推荐阅读