function loop(object) {
for( var a in object ) {
if( typeof(object) === 'object' ) {
loop(object[a]);
}else{
out.push(object[a]);
}
}
}
console.log(out);
在js中数组有很多种操作,包括有数组创建,排序,长度,取值,删除,访问等等各种数据操作方法,下面我来总结一下js数组操作,有需要了解的朋友可参考。
js数组的定义:
代码如下 复制代码
方法1.
var mycars=new Array()
mycars[0]="Saab"
mycars[1]="Volvo"
mycars[2]="BMW"
方法2.
定义和初始化一起:
var mycars=new Array("Saab","Volvo","BMW")
或者另一种写法:
var mycars=["Saab","Volvo","BMW"];
2、数组的元素的访问
代码如下 复制代码
var testGetArrValue=arrayObj[1]; //获取数组的元素值
arrayObj[1]= "这是新值"; //给数组元素赋予新的值
3、数组元素的添加
代码如下 复制代码
arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度
arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度
arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。
4、数组元素的删除
代码如下 复制代码
arrayObj.pop(); //移除最后一个元素并返回该元素值
arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移
arrayObj.splice(deletePos,deleteCount);
//删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素
5、数组的截取和合并
代码如下 复制代码
arrayObj.slice(start, [end]);
//以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素
arrayObj.concat([item1[, item2[, . . . [,itemN]]]]);
//将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组
6、数组的拷贝
代码如下 复制代码
arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向
arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向
javascript二维数组:
javascript用一维数组来模拟二维数组:
方法1.
var arr = new Array(['a','b','c'],['d','e','f']);
arr[0]返回第一个一维数组,arr[0][0]返回第一个一维数组的第一个元素'a',下同。
方法2.
arr=new Array();
for(i=0;i<100;i++) {
arr[i]=new Array(...);
}
方法3.
var arr=new Array(
new Array(),
new Array(),
new Array()
);
数据查找最大值
代码
代码如下 复制代码
function array_max()
{
var i,
max = this[0];
for (i = 1; i < this.length; i++)
{
if (max < this[i])
max = this[i];
}
return max;
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max();
数组长度:
javascript的数组不需要设定长度,会自己进行扩展,数组名.length返回元素个数
代码
代码如下 复制代码
var arr=[12,23,5,3,25,98,76,54,56,76];
//定义了一个包含10个数字的数组
alert(arr.length); //显示数组的长度10
arr.length=12; //增大数组的长度
alert(arr.length); //显示数组的长度已经变为12
alert(arr[8]); //显示第9个元素的值,为56
arr.length=5; //将数组的长度减少到5,索引等于或超过5的元素被丢弃
alert(arr[8]); //显示第9个元素已经变为"undefined"
arr.length=10; //将数组长度恢复为10
alert(arr[8]); //虽然长度被恢复为10,但第9个元素却无法收回,显示"undefined"
常用函数:
数组常用函数
toString():把数组转换成一个字符串
toLocaleString():把数组转换成一个字符串
join():把数组转换成一个用符号连接的字符串
shift():将数组头部的一个元素移出
unshift():在数组的头部插入一个元素
pop():从数组尾部删除一个元素
push():把一个元素添加到数组的尾部
concat():给数组添加元素
slice():返回数组的部分
reverse():将数组反向排序
sort():对数组进行排序操作
splice():插入、删除或者替换一个数组元素
排序:
arrayobj.sort(sortfunction)
参数