改变原数组的:
- shift:将第一个元素删除并且返回删除元素,空即为undefined
- unshift:向数组开头添加元素,并返回新的长度
- pop:删除最后一个并返回删除的元素
- push:向数组末尾添加元素,并返回新的长度
- reverse:颠倒数组顺序
- sort:对数组排序
- splice:splice(start,length,item)删,增,替换数组元素,返回被删除数组,无删除则不返回
不改变原数组的:
- concat:连接多个数组,返回新的数组
- join:将数组中所有元素以参数作为分隔符放入一个字符
- slice:slice(start,end),返回选定元素
- map,filter,forEach,some,every等不改变原数组
注意:若数组的每项为对象 map 和forEach方法则会改变原数组
var arr=[ {name:"小明",age:15}, {name:"小华",age:16}, ]; var abc=arr.map((item,index,arr)=>{ item.sex="男" return item; }); console.log(arr);//[{name: "小明", age: 15, sex: "男"},{name: "小华", age: 16, sex: "男"}] console.log(abc);//[{name: "小明", age: 15, sex: "男"},{name: "小华", age: 16, sex: "男"}] </script>
map和forEach的区别 后者没有返回值 若案例改为forEach 则 abc为underfined
拓展字符串的方法:
1、str.charAt(index); 返回子字符串,index为字符串下标,index取值范围[0,str.length-1]
2、str.charCodeAt(index); 返回子字符串的unicode编码,index取值范围同上
3、str.indexOf(searchString,startIndex); 返回子字符串第一次出现的位置,从startIndex开始查找,找不到时返回-1
4、str.lastIndexOf(searchString,startIndex); 从由往左找子字符串,找不到时返回-1
5、截取字符串 str.slice(start,end); 两个参数可正可负,负值代表从右截取,返回值:[start,end) 也就是说返回从start到end-1的字符 不建议用:str.substr(start,length); string.substring(from, to) 区别: https://www.cnblogs.com/niulina/p/5703961.html
6、字符串分割成数组 str.split(separator,limit); 参数1指定字符串或正则,参照2指定数组的最大长度
7、str.replace(rgExp/substr,replaceText) 返回替换后的字符串