【JavaScript】JS数组学习

摘自《JS高级程序设计》(第三版)第五章

创建数组

  • 方法一
var colors = new array(10);
var colors = Array(10);//new 可省略
var colors = Array("red","blue");
  • 方法二
var colors = [];
var colors = ["red","blue"];

使用数组

alert(colors[0]);
colors[5] = "black";//数组长度被扩充到了6个,其他项为undefined
colors.length = 1;//length属性值可变,数组只剩下“red”一个元素
colors[colors.length] = "green";//在末尾添加新项 等于push
colors.toString();//返回数组元素拼接的字符串
colors.toLocaleString();//调用了数组中每一项的toLocaleString()方法
colors.valueOf();//返回原数组

数组排序

//sort按升序排列数组,可以接收一个方法作为参数,便于指定哪个值在哪个值前面
function compare_str(value1,value2){
	if(...){
		return -1;
	}else if(...){
		return 1;
	}else return 0;
}
function compare_num(value1,value2){
	return value2 - value1;
}
colors.sort(compare_str);

检测数组

if (Array.isArray(colors)){}
if (colors instanceof Array){}//不适用多个全局环境(?)

栈方法与队列方法

方法作用返回值
push()添加元素到数组末尾修改后的数组长度
unshift()添加元素到数组开头修改后的数组长度
pop()从数组末尾移除最后一项移除的项
shift()从数组开头移除第一个项移除的项

操作方法

方法作用
concat()基于数组当前项与其他项合并成一个新数组
slice()基于当前数组某些项创建新数组
splice()向数组中部插入项
indexOf()、lastIndexOf()返回元素位置

迭代方法

以下迭代方法作用都是对数组中的每一项运行给定函数,但不会修改数组值。根据给定函数的返回值,确定方法的返回值。

方法返回值
every()如果每一项都返回true,则返回true
some()如果任一项都返回true,则返回true
filter()有哪些项返回true,就返回由这些项组成的数组
forEach()无返回值
map()每一项都会返回一个结果,返回这些结果组成的数组

归并方法

function函数任何返回值都会作为第一个参数传给下一项

var values = [1,2,3,4,5];
var sum = values.reduce(function(prev,cur,index,array){
	return prev + cur;
})//sum = 1+2+3+4+5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值