数组的操作方法
-
创建数组的方法
var arr=[1,2,3]; //字面量 var arr = new Array(1, 2, 3)//new关键字
-
toString()
toString() 把数组转换为数组值(逗号分隔)的字符串
var arr=[1,2,3]; arr.toString();//"1,2,3"
-
join()
join() 方法也可将所有数组元素以某种制定的方式拼接为一个字符串
var arr=[1,2,3]; arr.join('*')//"1*2*3"
-
pop() 和 push()
pop() 方法从数组中删除最后一个元素
var arr=[1,2,3]; arr.pop()//返回所删除的元素3
push() 方法(在数组结尾处)向数组添加一个新的元素
var arr=[1,2,3]; arr.push(4)//返回所删添加的元素
-
shift()
shift() 方法会删除首个数组元素,并把所有其他元素“位移”到更低的索引
var arr=[1,2,3]; arr.shift()//返回所删除的元素1
-
unshift()
unshift()方法从数组的开头添加一个新的元素,并“反向位移”旧元素
var arr=[1,2,3]; arr.unshift(0)//返回数组的长度4
-
通过索引更改数组元素
数组*索引(下标)*以 0 开始。[0] 是第一个数组元素,[1] 是第二个,[2] 是第三个 …
var arr=[1,2,3]; arr[0]=4; console.log(arr);//[4, 2, 3]
-
length
length 属性提供了向数组追加新元素的简易方法
var arr=[1,2,3]; arr[arr.length]='4'; console.log(arr);//[1,2,3,4]
-
删除数组元素
既然 JavaScript 数组属于对象,其中的元素就可以使用 JavaScript delete 运算符来删除
使用 delete 会在数组留下未定义的空洞。请使用 pop() 或 shift() 取而代之
var arr=[1,2,3]; delete arr[0]; console.log(arr);//[empty, 2, 3]
-
splice()
splice() 方法可用于向数组添加新项
-
第一个参数(2)定义了应添加新元素的位置(拼接)。
-
第二个参数(0)定义应删除多少元素。
-
其余参数(“Lemon”,“Kiwi”)定义要添加的新元素
var arr=[1,2,3]; arr.splice(3,0,4); console.log(arr);//[1, 2, 3, 4]
使用solice()删除元素
-
第一个参数(0)定义新元素应该被添加(接入)的位置。
-
第二个参数(1)定义应该删除多个元素。
-
其余参数被省略。没有新元素将被添加。
var arr=[1,2,3]; arr.splice(1,1); console.log(arr);// [1, 3]
-
-
concat()
-
concat() 方法通过合并(连接)现有数组来创建一个新数组
-
concat() 方法不会更改现有数组。它总是返回一个新数组。
-
concat() 方法可以使用任意数量的数组参数:
var arr=[1,2,3]; var arr1=[1,2,3]; var arr2=[1,2,3]; arr.concat(arr1,arr2)// [1, 2, 3, 1, 2, 3, 1, 2, 3]
-
-
slice()
slice() 方法用数组的某个片段切出新数组
slice()方法接受两个参数:开始,结束
如果结束参数被省略,比如第一个例子,则 slice() 会切出数组的剩余部分。
var arr=[1,2,3,4,5,6]; arr.slice(2,4);//[3, 4] arr.slice(2)//[3, 4, 5, 6]
-
reverse()
reverse() 方法用于颠倒数组中元素的顺序
注意:该方法会改变原来的数组,而不会创建新的数组
var arr=[1,2,3,4,5,6]; arr.reverse()//[6, 5, 4, 3, 2, 1]
-
sort()
sort() 方法用于对数组的元素进行排序 ,参数可选,规定排序循序必须是个函数
function sortNumber(a,b) { return a - b } var arr = new Array(6) arr[0] = "10" arr[1] = "5" arr[2] = "40" arr[3] = "25" arr[4] = "1000" arr[5] = "1" document.write(arr + "<br />")//10,5,40,25,1000,1 document.write(arr.sort(sortNumber))//1,5,10,25,40,1000
-
indexOf()
indexOf() 方法在数组中搜索元素值并返回其位置
var fruits = ["Apple", "Orange", "Apple", "Mango"]; var a = fruits.indexOf("Apple");//1
-
Array.lastIndexOf()
Array.lastIndexOf() 与 Array.indexOf() 类似,但是从数组结尾开始搜索
var fruits = ["Apple", "Orange", "Apple", "Mango"]; var a = fruits.lastIndexOf("Apple");
-
toLocaleString()
toLocaleString() 把数组转换为本地字符串
var arr=[1,2,3];
arr.toLocaleString();//"1,2,3"
-
Math.max.apply()
Math.max.apply ()来查找数组中的最高值
Math.max.apply([1, 2, 3]) 等于 Math.max(1, 2, 3)
function myArrayMin(arr) { return Math.min.apply(null, arr); }
-
Math.min.apply()
Math.min.apply ()来查找数组中的最高值
Math.min.apply([1, 2, 3]) 等于 Math.min(1, 2, 3)
function myArrayMin(arr) { return Math.min.apply(null, arr); }
-
我的Min/Max JavaScript方法
查找最大值
function myArrayMax(arr) { var len = arr.length var max = -Infinity; while (len--) { if (arr[len] > max) { max = arr[len]; } } return max; }
查找最小值
function myArrayMin(arr) { var len = arr.length var min = Infinity; while (len--) { if (arr[len] < min) { min = arr[len]; } } return min; }