创建数组的两个方法:
1.使用new Array创建新数组
var arr= new Array();
2.常用的是使用字面量创建数组
var arr = [ ];
3.获取数组元素
索引:数组的下标;数组从0开始的,
索引方法:数组名【索引号】
console.log(arr[1])
4.数组的新增
通过修改length长度来新增数组长度;length是可读写;
var arr=['red','blue','yellow','black'];
arr.length=5;
console.log(arr);
arr[4]='bee';
console.log(arr);
检测是否为数组两个方法:
1.instanceof
eg:arr instanceof Array
2. Array.isArray(参数) H5新增的方法;要在ie9以上才支持
eg:Array.isArray(arr)
instanceof Array 和 Array.isArray()区别:
Array.isArray能优先于instanceof检测出
数组条件筛选
1。将大于十挑选出来
var arr=[2,6,1,77,52,25,7,23,1,4,5,6,7,9,34,13,65,35,7,2];
var arr1 = [];
for (i = 0;i <arr.length;i++){
if (arr[i] > 10) {
arr1[arr1.length] = arr[i]
}
}
console.log(arr1);
2.数组中删除特定的值
var arr=[2,6,1,77,25,25,7,23,4,4,5,6,7,2,34,4,25,2,7,2];
var arr1 = [];
for (i = 0;i <=arr.length;i++){
if (arr[i] != 2) {
arr1[arr1.length] = arr[i]
}
}
console.log(arr1);
3.数组的翻转
var arr=['red','blue','yellow','black'];
var arr1 =[];
for (var i =arr.length - 1; i>=0;i--){
arr1[arr1.length] = arr[i];
}
console.log(arr1);
第二种方法使用reverse
var arr = ['red','blue','black'];
arr.reverse();
console.log(arr);
4.冒泡排序
var arr=[2,6,1,77,25,25,7,23,4,4,5,6,7,2,34,4,25,2,7,2];
for(var i = 0;i<= arr.length;i++){
for(var j = 0;j<= arr.length-1;j++){
if (arr[j]>arr[j+1]) {
var tem = arr[j+1];
arr[j+1] = arr[j]
arr[j] = tem
}
}
}
console.log(arr);
5.添加和删除数组元素
1.push在数组末尾添加一个新的数组元素
var arr = [1,34,6,6,7];
arr.push(3,'bee');
console.log(arr);
console.log(arr.push(3,'bee'));/* 添加push得到返回值 返回值是新的数组长度*/
注意:
(1)push是可以给数组添加新的元素
(2)push()参数直接写数组元素就可以
(3)push完毕之后返回的是新数组的长度
(4)原数组模型也会发生改变
2.在原数组前面添加元素unshift
var arr = [1,34,6,6,7];
arr.unshift(5,'red');
console.log(arr);
3.删除最后一个元素 pop()
var arr = [1,34,6,6,7];
console.log(arr.pop());//返回的是被删除的值
console.log(arr);
(1)pop是可以删除数组最后一个元素 一次删除有一个
(2)pop()没有参数
(3)pop完毕之后返回的是删除的元素
(4)原数组模型也会发生改变
4.删除第一个元素shift()
var arr = [1,34,6,6,7];
console.log(arr.shift());
console.log(arr);
- indexOf(“查找的元素”),从前面往后找可以返回当前的索引号;
要是数组有多个元素重复,只会返回第一个符合条件的元素索引
要是数组没有该元素,则会返回-1;
var arr = ['green','blue','yellow'];
console.log(arr.indexOf('yellow'));
lastIndexOf从后面往前面寻找元素,并且返回该元素的索引号
补充:
indexof(‘要查找的字符’,【开始查找的位置】);
eg:
利用indexof的第二个值,查找所有出现o出现的位置和次数
var str = 'abcdefgoxyozzoppso';
var index = str.indexOf('o');
var num = 0;
while (index!=-1) {
console.log(index);//返回的索引号
num++;
index = str.indexOf('o',index + 1)
}
console.log(num);//返回次数
5.tostring数组转换为字符串
var arr = [1,2,3];
console.log(arr.toString());
join(分隔符)改变分隔符,默认是逗号
console.log(arr.join('-'));
concat()连接两个或者多个数组,不影响原数组
var arr = [1,2,3];
var arr1 = [4,5,7];
console.log(arr.concat(arr1));
arr3 = arr.concat(arr1);
console.log(arr3)/*返回的长度是二 数组拼接的数目*
slice(begin,end)数组的截取 注意begin和end是数组的索引
console.log(arr3.slice(2,5));
console.log(arr3);
splice()数组的删除 从第几个开始到第几个 和slice类型一样;返回的是删除值
console.log(arr3.splice(2,5));
charAt(index)根据位置返回字符
var str = 'candy';
var chars = str.charAt(3);
console.log(chars);