js中如何定义字符串数组

这是一个陷阱,不要相信,不要做。

split方法定义了一个字符串数组。
vars = "abc,abcd,aaa"; var ss = vars.split(","); // 结果: ["abc", "abcd", "aaa"]
直接定义字符串数组。
var stringArray = ["abc", "abcd", "aaa"];
用户输入定义字符串数组。
var userInput = 邀请(); var userArray = userInput.split(",");
实用提醒:使用split时记得添加分隔符。

js字符串拼接数组

直接回答:JavaScript 使用连接字符串或模板字符串来连接字符串数组。

使用加入: JavaScript 让 arr = ['你好', '世界', '!']; 让 str = arr.join(' '); // 结果是“Hello World!”
使用模板字符串。
JavaScript 让 arr = ['你好', '世界', '!']; 让str = ${arr[0]} ${arr[1 ]} ${arr[2 ]}; // 结果是“Hello World!”
或者: JavaScript let str = ${['Hello', 'World', '!'].join(' ')}; // 结果是“Hello World!”
模板字符串更加灵活,尤其是动态组合时。

js中判断数组中是否含有某个字符串方法

说实话,几年前我在一个外包项目中看到过这行代码,当时我正在帮助客户修复旧版本的 JavaScript 库。
他们的系统使用 Node.js,而且版本很旧,可能是 Node 6 .x 开始的。
当时,Array.prototype.includes 还没有标准化。

有趣的是,这段代码中有一个小陷阱。
如果您查看 if (!('includes' in [])) 行,老实说,这个条件始终为真。
由于空数组[]肯定没有include方法,所以[]中'includes'的结果是错误的。
添加!之后就变成true了。
所以无论你传递给.includes()什么值,代码都会直接执行下一个函数定义。

当时我不明白客户为什么这么写。
后来发现他们的旧系统中的某个模块可能直接感染了Array.prototype,导致插件被覆盖。
这种写法就像是一种“防御性编程”。
首先检查环境,看看是否缺少include方法。
如果缺少,请自己制作一个。

话虽如此,今天谁还在新编写的代码中使用这种有趣的操作类型?直接使用ES6 会更好吗?让数组 = [1 ,2 ,3 ,4 ,6 5 ,6 7 ,8 9 ,4 ];数组.includes(6 7 );这很简单。
除非您实际上维护的是需要与 IE1 1 兼容的遗留系统,否则没有必要这样做。

我记得的数据是,2 01 7 年左右,ES6 开始流行后,include渗透率大幅提升。
但具体到那个旧项目的 Node 版本,我记得它是 Node 6 .1 0.x。
可能当时很多人都用过吧。
我自己没有运行过这个版本,所以我建议查看它的具体用法。