javascript中的破坏性方法和非破坏性方法

358 阅读2分钟

破坏性数组方法:原数组改变

1.push() 向数组的末尾添加一个或多个元素,并返回新的数组长度。原数组改变。
2.unshift(),向数组的开头添加一个或多个元素,并返回新的数组长度。原数组改变。
3.splice(index,howmany,元素1,元素2…) ,用于添加或删除数组中的元素. 原数组改变。
4.pop(),删除并返回数组的最后一个元素,若该数组为空,则返回undefined。原数组改变
5.shift(),删除数组的第一项,并返回第一个元素的值。原数组改变
6.reverse(),将数组倒序。原数组改变 
7.sort(),对数组元素进行排序。按照字符串UniCode码排序,原数组改变。
​

非破坏性数组方法 -原数组不变

1.slice(n,m),从索引n开始到m处(不包含m)提取元素-返回所选择的元素
  slice(n) 第二个参数省略,则一直提取n到末尾元素-返回所选择的元素
  slice(0)原样输出内容,可以实现数组克隆 -返回所原数组的所有元素
2.join(),对数组元素的每一项用指定字符连接形成一个字符串-返回字符串 
3.concat(arr1,arr2…),合并两个或多个数组,返回一个新的数组。
4.遍历相关:forEach()-只是单纯的遍历原数组----------不返回任何值--------------
           filter()-返回新数组
           map()-返回新数组
           some()与every()-some()返回布尔值--every()返回布尔值
           findIndex() -返回布尔值
          //sum : 初始值,默认为数组第一个元素
           //value : 数组得每一个元素,默认为数组第二个元素
          reduce((sum,value)=>{ return sum + value },0)(这个0可选,传递给函数的初始值) 返回一个值
           // a.回忆以前如何求数组元素的和.
           // let sum = 0;
           // for(let i = 0; i<arr.length;i++){
           //     sum += arr[i];
           // }
           // console.log(sum);
           // b.数组方法reduce来做
           let zonghe = arr.reduce(function(sum,item){
             return sum + item;
           },0);
​