@windyBaby
2016-09-27T10:09:34.000000Z
字数 1717
阅读 586
JavaScript MDN Array
MDN:在 JavaScript 中 Array 是一个用来构造数组的全局对象,它是一个高阶的类似有序列表的对象。
typeof([1,2,3]); //"object"
方法一
var arr=[1,2,3];
方法二
var arr=[];arr[0]="a";arr[1]="b";arr[2]="c";
任何类型的数据,都可以放进数组
var arr=[{a:1},[1,2,3],function hello(){alert("hello")}];arr[0] // Object {a: 1} 对象arr[1] // [1, 2, 3] 数组arr[2] // function hello(){alert("hello")} 函数
多维数组
var arr=[[1,2],[3,4]];arr[0][1]; //2arr[1][1]; //4
当然你也可以直接创建一个空数组,直接指定某一位
var arr=[];arr[1000]='a';console.log(arr[1000]); //a
length数量=成员数+1
['a', 'b', 'c'].length // 3
数组一定有length属性,length是动态的,可以增加也可以删减
arr.length=2; //就会变成只有两个成员的数组arr.length=5; //未定义的位置是undefined
将数组清空的一个有效方法,就是将length属性设为0。
arr.length = 0;arr // []
数组的空位(hole)并不影响length
var a = [1, , 1];a.length // 3
arr.reverse();
arr.indexOf(searchElement[, fromIndex = 0])
arr.lastIndexOf(searchElement[, fromIndex = arr.length - 1])
arr.push("orange");
arr.pop();
arr.shift();
arr.unshift("strawberry");
slice方法浅复制(shallow copy)数组的一部分到一个新的数组,并返回这个新数组。
arr.slice([begin[,end]]);//[ ,...n ] 表示前面的项可重复 n 次。每一项由逗号分隔。
splice() 方法用新元素替换旧元素,以此修改数组的内容。
array.splice(start, deleteCount[, item1[, item2[, ...]]]);
concat() 方法将传入的数组或非数组值与原数组合并,组成一个新的数组并返回。
var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])//除了concat可以合并数组外,还可以Array.prototype.push.apply(a, b)// 或者a.push.apply(a, b)
join() 方法将数组中的所有元素连接成一个字符串。
str = arr.join([separator = ','])//用字符串的split方法可以再分开
sort() 方法对数组的元素做原地的排序,并返回这个数组。 sort 排序可能是不稳定的。默认按照字符串的Unicode码位点(code point)排序。
arr.sort([compareFunction])
如果返回结果是数组的话还可以链式调用
思考题:把字符串“2-3-1"和"33-11-22”一起变成“33+22+11+3+2+1”;
forEach()、map()、filter()、some()、every()、reduce()、reduceRight()//call apply
冒泡排序、选择排序、插入排序、合并排序、快速排序