ES6已经推出很多年了,近期在复习,借此机会记录一下。
1、字符串
1.1 str.includes(character, index)
:true/false,是否找到了参数字符串,index表示从原字符串的第index位开始查找(包括index);
1.2 str.startsWith(character, index)
:true/false,参数字符串是否在指定字符串的头部,index表示从原字符串的第index位开始查找(包括index);
1.3 str.endsWith(character, n)
:true/false,参数字符串是否在指定字符串的尾部,n表示只查找原字符串的前n位;
1.4 str.repeat(n)
:返回一个新字符串,表示将原字符串重复n次,不会改变原字符串。
'world'.includes('r', 1) // true
'world'.startsWith('o', 1) // true
'world'.endsWith('o', 2) // true,表示“world”的前2位“wo”是否以“o”结尾
const s1 = 'we'
const s2 = s1.repeat(2)
console.log(s1, s2) // 'we', 'wewe'
2、数组
2.1 arr.forEach()
:遍历数组,没有返回值,不会改变原数组;
2.2 arr.map()
:遍历数组,有返回值,不会改变原数组,需要return
;
2.3 arr.filter()
:过滤数组,需要return
才要有返回值;
2.4 arr.fill(number, start, end)
:使用给定值填充一个数组,不包括end
;
2.5 Array.isArray(arr)
:返回布尔值,表示一个对象是否为数组;
2.6 arr.find(x)
:找出第一个符合条件的数组成员,跟filter类似,不过返回值是元素,不是数组;
2.7 arr.includes(x)
:返回布尔值,表示某个数组是否包含给定的值;
2.8 arr.every()
:返回布尔值,判断是否全部满足条件,需要return
;
2.9 arr.some()
:返回布尔值,判断是否任一满足条件,需要return
;
2.10 Array.from()
:用于将类数组转为真正的数组;
2.11 Array.of()
:用于将一组值转换为数组,它的出现是为了解决new Array()方法中的一些bug;
2.12 arr.keys()
:返回key的遍历器对象;
2.13 arr.values()
:返回value的遍历器对象;
2.14 arr.entries()
:返回键值对的遍历器对象。
// forEach()
[{ name: 'Jack' }, {name: 'Bob'}].forEach(item => { item.age = 20 })
// map()
const arr1 = [2,4,6].map(item => { return item/2 }) // [1,2,3]
// filter()
const arr2 = [1,2,3].filter(item => { return item > 2 }) // [3]
// fill()
const arr3 = [1,2,3,4,5,6].fill(5, 1, 3) // [1,5,5,4,5,6]
// Array.isArray()
const res1 = Array.isArray([1]) // true
// find()
const res2 = [1,2,2,5,4,3].find(x => x > 2) // 5
// includes()
const res3 = [1,2,3].includes(2) // true
// every()
const res4 = [1,2,3].every(item => { return item > 2 }) // false
// some()
const res5 = [1,2,3].some(item => { return item > 2 }) // true
// Array.of()
new Array(0) // []
new Array(1) // [empty]
Array.of(0) // [0]
Array.of(1) // [1]
// keys()
for (let index of ['a','b'].keys()) {
console.log(index) // 0 1
}
// values()
for (let index of ['a','b'].values()) {
console.log(index) // a b
}
// entries()
for (let index of ['a','b'].entries()) {
console.log(index) // [0,'a'] [1,'b']
}
【注】类数组:是指拥有length属性、可以使用下标方式访问的对象,但是它们没有数组的push()
、shift()
等方法。例如:DOM
的NodeList
,以及:
const str = 'example';
const person = {
name: 'Jack',
age: 20,
length: 2
}