slice() 截取数组或字符串
arr.slice(start,end) [start,end)截取的部分包含左边不包含右边,不会改变原数组或原字符串 返回截取后的数组或字符串
var arr = ["aaa","bbb","ccc","ddd","eee"]
var arr2 = arr.slice(1,3);
console.log(arr,arr2);//["aaa","bbb","ccc","ddd","eee"] ["bbb","ccc"]
var str = "abcdefg"
var str2 = str.slice(1,3)
console.log(str,str2);//abcdefg bc
concat() 合并数组或字符串
写法arr.concat(arr1,...,arrx)
不会改变原数组或字符串,返回合并后的数组或字符串
var arr = ["aaa","bbb","ccc"]
var arr2 = ["111","222"]
var add = arr.concat(arr2);
console.log(arr,arr2,add); // ["aaa","bbb","ccc"],["111","222","333"],['aaa', 'bbb', 'ccc', '111', '222']
var str = "abc"
var str2 = "123"
var add2 = str.concat(str2)
console.log(str,str2,add2);//abc 123 abc123
shift() 删除数组中第一个元素
返回删除的那个值 改变原数组
var arr = ["aaa","bbb","ccc","ddd","eee"]
var arr2 = srt.shift()
console.log(arr,arr2);//["bbb","ccc","ddd","eee"] aaa
pop() 删除数组中最后一个元素
改变原数组, 返回删除的那个值
var arr = ["aaa","bbb","ccc","ddd","eee"]
var arr2 = arr.pop()
console.log(arr,arr2);//["aaa","bbb","ccc","ddd"] eee
unshift() 往数组前面添加一个或多个数组元素
改变原数组,返回数组长度
var arr = ["aaa","bbb","ccc"]
var arr2 = arr.unshift("www","qqq")
console.log(arr,arr2);//["www","qqq","aaa","bbb","ccc"] 5
push()往数组结尾添加一个或多个数组元素
改变原数组,返回数组长度
var arr = ["aaa","bbb","ccc"]
var arr2 = arr.push("www","qqq")
console.log(arr,arr2);//["aaa","bbb","ccc","www","qqq"] 5
splice()删除,修改,添加 数组
删除 写法 arr.splice(index,howmany) index 开始删除的下标 howmany 删除多少位
改变原数组,返回删除的部分
var arr = ["aaa","bbb","ccc","ddd"]
var arr2 = arr.splice(2,1)//删除
console.log(arr,arr2);//['aaa', 'bbb', 'ddd'] ['ccc']
修改、添加 写法 arr.splice(index,howmany,item...) index 开始修改的下标 howmany 删除或者替换多少位,item要添加到数组的新元素 改变原数组,返回删除的部分
var arr = ["aaa","bbb","ccc","ddd"]
var arr2 = arr.splice(0,1,23)//修改
console.log(arr,arr2);// [23, 'bbb', 'ccc', 'ddd'] ['aaa']
var arr = ["aaa","bbb","ccc","ddd"]
var arr2 = arr.splice(0,0,"eee")//添加
console.log(arr,arr2);// ['eee', 'aaa', 'bbb', 'ccc', 'ddd'] []
数组转字符串
有两种方法
1.join()
2.toString()
两者的区别 join() 可以指定分割符号join("|")、join(" ")等默认为逗号,toString()只能是逗号
相同点 :toString() 、 join()、join(",") 三者的结果相同
都不改变原数组,返回转变后的字符串
var arr = ["aaa","bbb","ccc","ddd"]
var arr2 = arr.join()
console.log(arr,arr2);//['aaa', 'bbb', 'ccc', 'ddd'] 'aaa,bbb,ccc,ddd'
//var arr2 = arr.join("|")
//console.log(arr,arr2);//['aaa', 'bbb', 'ccc', 'ddd'] 'aaa|bbb|ccc|ddd'
var arr3 = ["www","qqq","ttt"]
var arr4 = arr3.toString()
console.log(arr3,arr4);// ["www","qqq","ttt"] 'www,qqq,ttt'
//var arr4 = arr3.toString("|")
//console.log(arr3,arr4);// ["www","qqq","ttt"] 'www,qqq,ttt'
reverse()反转数组中元素的顺序
写法arr.reverse()
改变原数组,返回反转后的数组
var arr = ["aaa","bbb","ccc","ddd"]
var arr2 = arr.reverse()
console.log(arr,arr2);// ['ddd', 'ccc', 'bbb', 'aaa'] (4) ['ddd', 'ccc', 'bbb', 'aaa']
sort()数组排序
改变原数组,返回排序后的数组
//按字母排序
var arr = ["aaa","yby","eee","bbb","ccc","ddd"]
var arr2 = arr.sort()
console.log(arr,arr2);
// arr ['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'yby']
//arr2 ['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'yby']
//按数字排序
var arr3 = [23,45,12,4,100,67,34,2]
var arr4 = arr3.sort((a,b)=>b-a)//a-b升序b-a降序
console.log(arr3,arr4)
//arr3 [100, 67, 45, 34, 23, 12, 4, 2]
//arr4 [100, 67, 45, 34, 23, 12, 4, 2]