- 除2取整
1 2 3 4
| let num = 5;
let res = num >> 1;
|
- 拼接字符串
String.prototype.concat()
1 2 3 4 5 6 7 8
| var s1 = 'abc'; var s2 = 'def';
s1.concat(s2) s1
'a'.concat('b', 'c')
|
- 截取子字符串
String.prototype.slice()
slice
方法用于从原字符串取出子字符串并返回,不改变原字符串。它的第一个参数是子字符串的开始位置,第二个参数是子字符串的结束位置(不含该位置)。
1
| 'JavaScript'.slice(0, 4)
|
如果省略第二个参数,则表示子字符串一直到原字符串结束。
如果参数是负值,表示从结尾开始倒数计算的位置,即该负值加上字符串长度。
1 2 3
| 'JavaScript'.slice(-6) 'JavaScript'.slice(0, -6) 'JavaScript'.slice(-2, -1)
|
- Unicode 字符串比较
字符串按照字典顺序进行比较。
1 2 3 4 5 6 7
| 'a' > 'z'
'abc' < 'abd'
'abc' < 'abcd'
'a0b1' < 'a1b1'
|
- 截取子数组
Array.prototype.slice()
slice
方法用于提取目标数组的一部分,返回一个新数组,原数组不变。
第一个参数为起始位置(从0开始),第二个参数为终止位置(但该位置的元素本身不包括在内)。
如果省略第二个参数,则一直返回到原数组的最后一个成员。
1 2 3 4 5 6 7
| var a = ['a', 'b', 'c'];
a.slice(0) a.slice(1) a.slice(1, 2) a.slice(2, 6) a.slice()
|
如果 slice
方法的参数是负数,则表示倒数计算的位置。
1 2 3
| var a = ['a', 'b', 'c']; a.slice(-2) a.slice(-2, -1)
|
- 删除原数组元素
Array.prototype.splice()
splice
方法用于删除原数组的一部分成员,并可以在删除的位置添加新的数组成员,返回值是被删除的元素。注意,该方法会改变原数组。
splice
的第一个参数是删除的起始位置(从0开始),第二个参数是被删除的元素个数。如果后面还有更多的参数,则表示这些就是要被插入数组的新元素。
1 2 3
| var a = ['a', 'b', 'c', 'd', 'e', 'f']; a.splice(4, 2) a
|
- 数组排序
Array.prototype.sort()
sort
方法对数组成员进行排序,默认是按照字典顺序排序。排序后,原数组将被改变。
1 2 3 4 5
| var arr = ['d', 'c', 'b', 'a'];
arr.sort();
arr
|
1
| numbers.sort((a, b) => a - b);
|
1
| numbers.sort((a, b) => b - a);
|
Array.prototype.reverse()
reverse
方法用于颠倒排列数组元素,返回改变后的数组。注意,该方法将改变原数组。
1 2 3 4
| var a = ['a', 'b', 'c'];
a.reverse() a
|
- 合并数组
Array.prototype.concat()
concat
方法用于多个数组的合并。它将新数组的成员,添加到原数组成员的后部,然后返回一个新数组,原数组不变。
1 2 3 4 5 6 7
| let arr = ['hello'];
arr.concat(['world'], ['!'])
arr
[2].concat({a: 1}, {b: 2})
|
- 易混淆知识点
1 2 3 4 5
| var obj = {};
'toString' in obj
obj.hasOwnProperty('toString')
|
1 2 3 4 5 6 7
| typeof 1 typeof false typeof 'abbc' typeof [] typeof null typeof function() {} typeof undefined
|