javascript - 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);
解决方案
而不是使用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。
推荐阅读
- google-cloud-platform - 从本地机器访问 GCP Memorystore
- javascript - 使用 Immutable.js 从 memoized 选择器返回纯 JS 对象
- php - 为什么我的每个页面的特色图片没有显示在我的菜单中
- node.js - 如何使用 MacOS 在 package.json 上调用多个命令
- c++ - 向现有项目添加更多平台
- google-analytics - 将 Google Analytics 的 URL 跟踪参数添加到内部网站搜索查询时出错
- elasticsearch - 如何从搜索中排除字段中的 {}
- python - 在 canopy 终端中从 github 安装 python 包时出错
- meteor - 如何在 Meteor.js 启动时禁用订阅通知?
- python - 通过中央服务器连接由不同线程连接的两个套接字客户端作为客户端服务器对