一、arr.join(“拼接符”),返回拼接后的字符串,不改变原数组,通常用于三种情况:
1.将字符数组里的元素按照拼接符拼接
let words = [1,2,3,4]
let str = words.join(";")
console.log(words,"@"+str)
运行结果:
2.将单词数组里的元素按照拼接符拼接成句子
let words = ["Hello","world"]
let str = words.join(" ")
console.log(words,"@"+str)
运行结果:
3. 将数组中的元素化为页面中的列表或选择元素,如下段代码其实有规律可寻的,我们可以按照数组的join来实现直接js书写得到效果
<body>
<select>
<option>上海 </option>
<option>南京 </option>
<option>杭州 </option>
</select>
</body>
js中书写代码取的上面的结果:
let city = ["上海","南京","杭州"]
let html = "<select><option>"+city.join("</option><option>")+"</option></select>"
console.log(html)
var obj = document.getElementsByTagName("body")[0];
obj.innerHTML = html;
运行可得:
二、arr.concat(值1,值2,[值3,值4,..],...);连接子元素或连接子数组内容,不改变原数组
三、 arr.slice(starti[,endi]) 截取数组内容
starti - 起始下标 ;endi - 结束下标,可有可无。如果没有endi,则表示从起始下标开始截取,一直截取到数组末尾
截取的规则:含头不含尾
注意:slice方法支持倒数下标 比如倒数第一位 下标就是 -1
四、splice删除,插入,替换数组中任意位置任意个数的元素操作
1.删除:2个参数 要删除的第一项的下标starti和要删除的个数n
splice(starti,n)
2.插入:起始位置,0(要删除的个数),插入的元素
splice(starti,0,新值1,新值2,...)
3.替换:起始位置,n(要删除的个数),替换的元素
splice(starti,n,新值1,新值2,...)
注意:splice() 返回的结果永远是一个数组,该数组中保存了从原数组中删除的项,如果没有删除操作,那么返回的是一个空数组
五、arr.reverse() 反转数组 改变原数组
六、arr.sort() 数组排序 改变原数组
默认的sort方法,只能将所有的元素转为字符串后,再排序(按照unicode号),如下图所示的arr,只用sort方法得到的数组并不是按照数字大小进行排序的
解决:1. 自定义比较规则
比较器函数:专门封装任意两数的比较规则的函数
必须是2个参数: a(前一个值),b(后一个值)
函数体:a>b -> a-b>0 升序
a<b -> b-a>0 降序
升序的比较器函数 function compareUp(a,b){return a-b}
降序的比较器函数 function compareDown(a,b){return b-a}
2. 将*比较器函数的引用(函数名)*作为参数传递给sort方法
七、arr.push(“XXX”) 在数组的末尾处插入新元素 改变原数组
八、arr.pop() 把数组最末尾的元素弹出
九、 arr.unshift("XXX") 在数组的开头处插入新元素
十、arr.shift() 把数组开头处的元素弹出