数组API
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组API相关的知识,希望对你有一定的参考价值。
1.arr.join("自定义字符串")
将数组中的每个元素转化为字符串,可以自定义连接
无缝连接 arr.join("")里面不用东西,
2.拼接
arr.concat(value1, value2 , arr)将其他元素或者另外一个数组拼接当前数组的结尾
var arr1 = [1,2,3]
var arr2 = [4,5,6]
arr1.concat(arr2) (1,2,3,4,5,6)
concat无权修改数组,只能返回新数组,必须使用变量接受拼接返回的值
concat会打散参数中的子数组为单个元素,单个拼接
3.选取
arr.slice(starti,endi)选取stati位置开始到endi位置的所有元素,组成临时子数组
var arr = [1,2,3,4,5,6,7,8,9]
arr.slicde(3,6) (4,5,6)
下标含头不含尾 , slice无权修改数组 , 支持负参数 length - n
省略第二个参数表示从指定位置开始一直截取到结尾
4.数组的修改(删除, 插入, 替换)
a.删除
arr.splice(starti,n) 删除arr中starti开始的n个元素
var arr = [1,2,3,4,5,6]
arr.splice(3,5) (4,5,6)
修改了原数组 支持负参数
b.插入
arr.splice(starti, 0, value1, value2,arr)将value1 , value2 等插入到arr中starti的位置
0 表示一个都不删除, 原位置的值向后移,
var arr = [1,2,3,4,5,6]
var arr2 = [7,8,9]
arr2.splice(1,0, 99,100) (1,99,100,2,3,4,5,6)
c.替换
arr.splice(starti,n,,value1, value2,) 先删除arr中starti位置开始的n个元素
再在starti位置插入value1,value2,删除的元素个数和插入的新元素不必一致
var arr = [1,2,3,4,5,6,7,8,9]
var arr = [1,2,3,4,5,6,7,8,9];arr.splice(0,3,0,0,0);console.log(arr)
[0, 0, 0, 4, 5, 6, 7, 8, 9]
冒泡排序
function bubblesort(arr) {
for (var i = 1; i < arr.length; i++) {
for (var j = 0; j < arr.length - i; j++) {
if (arr[j] > arr[j + 1]) {
// arr[i] ^= arr[i + 1];
// arr[i + 1] ^= arr[i];
// arr[i] ^= arr[i + 1];
arr[j] = [arr[j + 1], arr[j + 1] = arr[j]][0];
}
}
}
}
var arr = [10, 6, 9, 3, 5, 4, 7, 2, 8];
bubblesort(arr);
console.log(arr);
以上是关于数组API的主要内容,如果未能解决你的问题,请参考以下文章