数组
var arr = [];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]); // 遍历数组
arr[i] = i +1; // 追加元素
}
冒泡排序:
var arr = [5, 4, 3, 2, 1];
for (var i = 0; i < arr.length - 1; i++) {
for (var j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);
Array对象
是构造函数,需使用new
创建数组
1.利用数组字面量var arr = []
2.利用内置对象构造函数
var arr1 = new Array(); // 创建了一个空数组
var arr2 = new Array(2); // 创建了长度为2的空数组
var arr3 = new Array(2, 3); // 等价于[2, 3]
检测是否为数组
1.instanceof
运算符
2.方法Array.isArray(参数)
H5新增
var arr = [];
console.log(arr instanceof Array);
console.log(Array.isArray(arr));
添加删除数组元素
push()
:在数组末尾添加一或多个数组元素,返回值是新数组长度
unshift()
:在数组开头添加一或多个数组元素,返回值是新数组长度
pop()
:删除数组最后一个元素,数组长度减1,返回被删除元素的值
shift()
:删除数组第一个元素,数组长度减1,返回被删除元素的值
var arr = [1, 2, 3];
arr.push(4, 5);
console.log(arr.push()); // 5
console.log(arr); // [1, 2, 3, 4, 5]
arr.unshift(6, 7);
console.log(arr.unshift()); // 7
console.log(arr); // [6, 7, 1, 2, 3, 4, 5]
console.log(arr.pop()); // 5
console.log(arr); // [6, 7, 1, 2, 3, 4]
console.log(arr.shift()); // 6
console.log(arr); // [7, 1, 2, 3, 4]
数组排序
reverse()
:翻转数组元素顺序,返回新数组
var arr = [1, 2, 3];
arr.reverse();
console.log(arr); // [3, 2, 1]
sort()
:对数组元素排序,返回新数组
var arr1 = [13, 4, 77, 1, 7]
arr1.sort(); // 字典序[1, 13, 4, 7, 77]
arr1.sort(function(a,b) {
return a - b; // 升序
// return b - a; 降序
}
数组索引
indexOf()
:查找给定元素的第一个索引
lastIndexOf()
:查找最后一个索引
如果存在返回索引号,如果不存在返回-1
数组去重
function unique(arr) {
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (newArr indexOf(arr[i]) === -1) {
newArr.push(arr[i]);
}
}
return newArr;
}
数组转换为字符串
toString()
:用逗号分隔,返回一个字符串
join('分隔符')
:用自定义分隔符分隔,返回一个字符串
连接或截取数组
concat()
:连接二或多个数组,不影响原数组,返回新数组
slice(begin, end)
:数组截取,返回被截取项目的新数组
splice(第几个开始,要删除个数)
:删除,影响原数组,返回被删除项目的新数组(重点)