JS-2.数组

数组是一种特殊类型的变量,可以只存储一个值,也可以存储多个值,当需要使用一组相互有关联的值时,就应当考虑使用数组。当不知道一个列表中要包含多少项数据时,数组尤其有用。这是因为在创建数组时,不需要指定它会包含多少个值。
创建数组:
var colors;
colors=['white','black','custom'];
可以假设调用一下:
var e1=document.getElementById('colors');
e1.textContent=colors[0];
解释:数组字面量法,假设在body中存在id值是colors的块。创建变量调用存储他,然后给他赋值colors数组中的第0个值,也就是white,运行时,body中的colors块会显示white。
另一种创建数组的方式:
var colors =new Array('white','black','custom');
这种创建方法叫做数组构造函数,形式是用一个new关键字,后面跟着Array();值在圆括号中指定,值与值之间用逗号隔开,调用的时候使用item()的方法来从数组中获取数据。例如:
var e1 = document.getElementById('colors');
e1.innerHTML = colors.item(0)
此时此刻效果会和第一种方法一致,但是我们在创建数组的时候,推荐使用数组字面量,而非.数组构造函数。
数组中元素的数量
每个数组都有一个叫做length的属性,它保存着数组中元素的数量。查看数组中的数量时,可以先定义一个变量,然后使用length属性来获取,方法如下:
var colors;
colors=['white','black','custom']; //定义数组colors
var numColors; //定义一个获取数组数量的变量
numColors=colors.length; //此时数组colors的元素数量值已经被保存在numColors中
还可以用colors.length=0;来清空数组
访问和更改数组中的值
var colors;
colors=['white','black','custom']; //创建数组
colors[1]='blue'; //将数组中的black换成blue
算术运算符
同其他编程语言类似
数组的操作:
数据添加:
数组名.unshift():在数组头部添加一个值,值存放在括号内。
数组名.push():在现有数组末尾添加值,值存放在括号内。
数据删除:
数组名.shift():删除数组的第一个值。
数组名.pop():删除数组末尾的值。
数组名.splice(x,y),x:索引,y:删除个数
<script>
var arr = [1,2,3,4,5,6];
arr.splice(2,1);//索引为2的元素,就是3
alert(arr);
</script>

还可以使用splice进行替换操作,例如把原数组中的3替换成e
<script>
var arr = [1,2,3,4,5,6];
arr.splice(2,1,'e');
alert(arr);
</script>

数组排序:
sort([比较函数]),排序一个数组
排序一个字符串数组
<script type="text/javascript">
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
document.write(arr.sort())
</script>

排序一个数字数组
此时注意,当sort中没有函数调用的时候,默认先比较第一个,先按照第一个字符的阿斯卡码进行比较,在比较第二个,依次比较
<script type="text/javascript">

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 />")
document.write(arr.sort())

</script>

此时需要进行再sort中添加函数,可以自定义,也可以使用自带的
<script type="text/javascript">

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 />")
document.write(arr.sort( sortNumber ))

</script>

数组连接:
concat(数组2):连接两个数组
<script>
var arr = [1,2,3,4,5,6];
var arr2 = [7,8]
arr = arr.concat(arr2);
alert(arr);
</script>

join(分隔符)
<script>
var arr = [1,2,3,4,5,6];
arr = arr.join('-');
alert(arr);
</script>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值