ES5
1. join & split
const colors = 'green, red, black'
const colorsArr = colors.split(',')
console.log(colorsArr)
const colorsStr = colorsArr.join(',')
console.log(colorsStr)
2. push & pop
const colors = [];
colors.push('green', 'red');
console.log(colors);
const item = colors.pop();
console.log(item);
console.log(colors);
3. shift & unshift
const colors = ['green', 'red'];
const item = colors.shift();
console.log(item);
console.log(colors);
colors.unshift('blue', 'grey');
console.log(colors);
4. reverse & sort
const values = [1, 3, 44, 43, 654, 0];
values.reverse();
console.log(values);
values.sort();
console.log(values);
values.sort((val1, val2) => val2 - val1);
console.log(values);
5. concat, slice & splice
const colors = ['red', 'green', 'blue'];
const colors2 = colors.concat('yellow', ['black']);
console.log(colors2); // [ 'red', 'green', 'blue', 'yellow', 'black' ]
const colors3 = colors2.slice(1, 5);
console.log(colors3); // [ 'green', 'blue', 'yellow', 'black' ]
console.log(colors2); // [ 'red', 'green', 'blue', 'yellow', 'black' ]
const remove1 = colors2.splice(0, 1);
console.log(remove1); // [ 'red' ]
console.log(colors2); // [ 'green', 'blue', 'yellow', 'black' ]
const remove2 = colors2.splice(1, 0, 'red', 'pink');
console.log(remove2); // [ ]
console.log(colors2); // [ 'green', 'red', 'pink', 'blue', 'yellow', 'black' ]
6. indexOf & lastIndexOf
const values= [1, 3, 4, 6, 7, 4, 3, 1];
console.log(values.indexOf(4));
console.log(values.lastIndexOf(4));
console.log(values.lastIndexOf(4, 4));
console.log(values.lastIndexOf(4, 5));
7. every, filter, forEach, map & some
every & some
every
some
const values = [1, 3, 4, 6, 7, 4, 3, 1];
const everyResult = values.every((item, index, array) => {
return item > 2;
});
console.log(everyResult);
const someResult = values.some((item, index, array) => {
return item > 2;
});
console.log(someResult);
filter
const values = [1, 3, 4, 6, 7, 4, 3, 1];
const filterResult = values.filter((item, index, array) => {
return item > 2;
});
console.log(filterResult);
const obj = [ { num: 3 }, { num: 4 }, { num: 1 },{ num: 5 },{ num: 0 }, { num: 4 }];
const filterObjResult = obj.filter((item, index, array) => {
return item.num > 2;
});
console.log(filterObjResult);
map
const values = [1, 3, 4, 6, 7, 4, 3, 1]
const mapResult = values.map((item, index, array) => {
return item * 2
})
console.log(mapResult)
const obj = [ { num: 3 }, { num: 4 }, { num: 1 },{ num: 5 },{ num: 0 }, { num: 4 }]
const mapObjResult = obj.map((item, index, array) => {
return item.num
})
console.log(mapObjResult)
forEach
const values = [1, 3, 4, 6, 7, 4, 3, 1]
values.forEach((item, index, array) => {
array[index] = item * 2
})
console.log(values)
reduce & reduceRight
reduce
reduceRight
const values = [1, 3, 4, 4, 4, 9];
const sum = values.reduce((prev, cur, index, array) => {
return prev + cur;
});
console.log(sum);
const sumRight = values.reduceRight((prev, cur, index, array) => {
return prev + cur;
});
console.log(sumRight);
ES6
1. 拓展运算符...
const colors = ['green', 'red', 'pink']
const colors1 = ['white', 'grey']
const colors2 = [...colors, ...colors1]
console.log(colors2)
2. Array.from() & Array.of()
const obj = {
'0': '123',
'1': '456',
'2': 'c',
length: 4
}
const arr = Array.from(obj);
console.log(arr);
const values = [1, 1, 3, 5];
const setValue = new Set(values);
const newArr = Array.from(setValue);
console.log(newArr);
const newArr2 = Array.from(newArr, x => x * 2);
console.log(newArr2);
console.log(Array.of(undefined, 1, null));
3.entries(), keys() & values()
const colors = ["red", "green", "blue"];
for (const index of colors.keys()) {
console.log(index);
}
for (const ele of colors.values()) {
console.log(ele);
}
for (const [index, ele] of colors.entries()) {
console.log(index, ele);
}