创建数组
var color = new Array(3); // 3个元素的数组
var nams = new Array("Greg"); // 只有一个字符串元素的数组
var games = ['csgo', 'dnf', 'cs']; // 三个元素的数组
var users = []; // 空元素的数组
Array.isArray(arg) // 判断一个变量[arg]是否为数组
错误使用1
var colors = ['red', 'green', 'blue']
colors.length = 2; // 重新定义了数组的长度,相当于是截取了
// 同样: colors.length = 4 ,在取值时 colors[3] 也会输出 undefined
console.log(colors[2]); // 上面的问题就导致,下面输出了 undefined
// 如果使用直接下标指定元素,则会相应的增加数组的长度
colors[99] = 'black' // 那么其长度 colors.length ==> 100
toString() // 会返回使用字符[,]拼接的字符串
valueOf() // 还是返回数组
push() // colors.push('white', 'gray');
// 在数组后面,追加元素,长度相应会增加
unshift()// colors.unshift('a', 'b')
// 在数组开头,插入元素,顺序与参数一样,长度会增加
pop() // colors.pop();
// 弹出最后添加的元素,长度相应会减少
shift() // colors.shift();
// 弹出最先添加的元素,长度相应会减少
reverse() // colors.reverse();
// 数组元素反转
var values = [1,2,3];
values.reverse();
console.log(values); // [3,2,1]
sort() // 排序,默认从小到到,如果有字符中,则会取 asiic 码排序
// 可以传递一个 sortFunc,可实现Object自定义字段排序,如下:
function cp (v1, v2) {
if (v1 < v2) {
return -1; // 返回 1 表示从大到小,-1表示从小到大
}else if (v1 > v2) {
return 1; // 返回 - 1 与上面的if同理
} else {
return 0;
}
}
var vs = [1,2,5,11,4,3];
vs.sort(cp);
console.log(cp);
join() // 数组根据指定的字符拼接成字符串
slice(start [, end]) // 切分数组,左闭右开,end默认到数组结尾
splice() // 删除、插入元素
var colors = ["red", "green", "blue"];
var removed = colors.splice(0,1); //remove the first item
console.log(colors); //green,blue
console.log(removed); //red - one item array
//insert two items at position 1
removed = colors.splice(1, 0, "yellow", "orange");
console.log(colors); //green,yellow,orange,blue
console.log(removed); //empty array
//insert two values, remove one
removed = colors.splice(1, 1, "red", "purple");
console.log(colors); //green,red,purple,orange,blue
console.log(removed); //yellow - one item array
every() 与 some()
var numbers = [1,2,3,4,5,4,3,2,1];
// every 表示 数组中每一项都是 true 时,则返回 true
var everyResult = numbers.every(function(item, index, array){
return (item > 2);
});
console.log(everyResult); // false
// some 表示 数组上有一项返回 true 时,整个结果返回 true
var someResult = numbers.some(function(item, index, array){
return (item > 2);
});
console.log(someResult); //true
filter()
var numbers = [1,2,3,4,5,4,3,2,1];
// filter 表示 过虑数组的元素,返回指定条件的元素
var filterResult = numbers.filter(function(item, index, array){
return (item > 2);
});
console.log(filterResult); //[3,4,5,4,3]
indexOf 与 lastIndexOf
map() 遍历原来的数组,根据条件创建一个新的数组
var numbers = [1,2,3,4,5,4,3,2,1];
var mapResult = numbers.map(function(item, index, array){
return item * 2;
});
alert(mapResult); //[2,4,6,8,10,8,6,4,2]
concat() 合并数组
var colors = ["red", "green", "blue"];
var colors2 = colors.concat("yellow", ["black", "brown"]);
console.log(colors); //red,green,blue
console.log(colors2); //red,green,blue,yellow,black,brown