JavaScript中两个数组的拼接

方法一:使用for循环

1
2
3
4
5
6
7
8
var arr = ['tom', 'jerry'];
var arr2 = [1, 2];

for(var i=0; i<arr2.length; i++){
arr.push(arr2[i])
}
console.log(arr);
// ['tom', 'jerry', 1, 2]

方法二:使用concat()

注意concat()方法生成了一个新的数组,并不改变原来的数组。

1
2
3
4
5
6
var arr = ['tom', 'jerry'];
var arr2 = [1, 2];

var newArr = arr.concat(arr2);
console.log(newArr);
// ["tom", "jerry", 1, 2]

方法三: 使用apply劫持数组的push方法

1
2
3
4
5
6
var arr = ['tom', 'jerry'];
var arr2 = [1, 2];

arr.push.apply(arr, arr2);
console.log(arr)
// ["tom", "jerry", 1, 2]

方法四:使用es6中的 ‘点语法’ 扩展运算符(推荐)

1
2
3
4
5
6
var arr = ['tom', 'jerry'];
var arr2 = [1, 2];

arr.push(...arr2);
console.log(arr)
// ["tom", "jerry", 1, 2]
备注:扩展运算符(…)

扩展运算符( spread )是三个点(…)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。

1
2
3
4
console.log(1, ...[2, 3, 4], 5)
// 1 2 3 4 5
[...document.querySelectorAll('div')]
// [<div>, <div>, <div>]

JavaScript查找字符串中是否包含指定的字符串

indexOf()

1
2
var str = "123";
console.log(str.indexOf("3") != -1 ); // true

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有找到,则该方法返回 -1。区分大小写

includes()

1
2
var str = "Hello world, welcome to the Runoob。";
var n = str.includes("world"); //true

includes() 方法用于判断字符串是否包含指定的子字符串,如果找到匹配的字符串则返回 true,否则返回 false。区分大小写