数组方法总结

164 阅读2分钟

var example = ['a', 'b', 'c', 'd', 'e'];

1.map 不改变原数组
var otherExample = example.map((item, index) => {
    return (item + 's');
})
console.log(otherExample); // ["as", "bs", "cs", "ds", "es"]
console.log(example); // ["a", "b", "c", "d", "e"]
2.forEach 改变原数组
var examples = example;
examples.forEach((item, index) => {
    examples[index] = item + 's';
})
console.log(example); // ["as", "bs", "cs", "ds", "es"]
console.log(examples); // ["as", "bs", "cs", "ds", "es"]
3.slice 截取数组,不改变原数组,包前不包后
console.log(example.slice(1, 3)); // ["bs", "cs"]
console.log(example); // ["as", "bs", "cs", "ds", "es"]
4.splice
两个参数时,删除数组的某些项,改变原数组。
console.log(example.splice(1, 3));// ["bs", "cs", "ds"]
console.log(example);// ["as", "es"]
替换,删除一项,添加一项,改变原数组
console.log(example.splice(0, 1, 'good'));// ["as"]
console.log(example); // ["good", "es"]
添加
console.log(example.splice(1, 0, 'mm')); // []
console.log(example); // ["good", "mm", "es"]
5.fliter 返回过滤后的数据,不改变原数组
var students = [1, 2, 3, 4, 5, 6];
console.log(students.filter((item, index) =>{
    return item>1; // [2, 3, 4, 5, 6]
}))
console.log(students); // [1, 2, 3, 4, 5, 6]
6.join 不改变原数组
console.log(students.join('+'));// 1+2+3+4+5+6
console.log(students);// [1, 2, 3, 4, 5, 6]
7.indexOf 查找数组中的某一项,找到了返回其位置,没找到返回-1,不改变原数组。
console.log(students.indexOf(3, 4)); // -1
console.log(students); // [1, 2, 3, 4, 5, 6]
8.every 每一项都符合条件,返回true, 不改变原数组
console.log(students.every((item, index) => {
    return item>0; // true
}))
console.log(students);// [1, 2, 3, 4, 5, 6]
9.some 某一项都符合条件,返回true, 不改变原数组
console.log(students.some((item, index) => {
    return item>1; // true
}))
console.log(students);// [1, 2, 3, 4, 5, 6]
10.push 数组尾部添加元素,改变原数组
console.log(students.push(7)); // 7
console.log(students);// [1, 2, 3, 4, 5, 6, 7]
11.pop 数组尾部去除元素,改变原数组
console.log(students.pop());// 7
console.log(students);// [1, 2, 3, 4, 5, 6]
12.shift 数组头部去除元素,改变原数组
console.log(students.shift());// 1
console.log(students);// [2, 3, 4, 5, 6]
13.unshift 数组头部添加元素,改变原数组
console.log(students.unshift(1));// 6
console.log(students);// [1, 2, 3, 4, 5, 6]
14.reverse 颠倒数组, 改变原数组
console.log(students.reverse());// [6, 5, 4, 3, 2, 1]
console.log(students);// [6, 5, 4, 3, 2, 1]
15.concat 连接多个数组
console.log(students.concat(example));// [6, 5, 4, 3, 2, 1, "good", "mm", "es"]
console.log(students.concat(7, 8));// [6, 5, 4, 3, 2, 1, 7, 8]
16.sort 对数组进行排序,修改了原数组
console.log(students.sort());// [1, 2, 3, 4, 5, 6]
console.log(students);// [1, 2, 3, 4, 5, 6]
17.toString 把数组变为字符串,不修改原数组
console.log(students.toString());// 1,2,3,4,5,6
console.log(students);// [1, 2, 3, 4, 5, 6]
18.toLocaleString
console.log(students.toLocaleString());// 1,2,3,4,5,6
console.log(students);// [1, 2, 3, 4, 5, 6]
19.总结

平时数组的使用频率极高,我平时使用的时候,经常某个方法的使用突然卡住了,需要上网查,几次之后,我觉得需要自己总结一下,写个小demo,便于记忆,也给大家分享一下。