
声明数组的方法:
var colors = new Array()
var colors = new Array(20) //长度为20的数组
var colors = new Array("red","blue","green")
var colors = ["red","blue","green"]
var colors = Array(3)
var colors = Array("bue")
arrays.length 可以获取colors数组的长度。这个长度不是只读的,而是可变的!
var arrays = ["red","blue","green"] // 有三个元素,长度为3
arrays.length = 2 //将arrays数组长度设为2后
alert(arrays[2]) //Undefined 第三个元素为Undefined
将长度增大或者缩短之后超出原来数组长度或者小于新数组长度的部分的值为undefined
检测当前对象事都是数组的方法:
if(value instanceif Array){
}
if(Array.isArray(value)){
}
value为要检测的对象
JavaScript的数组可以当做栈来处理,也可以当做队列或者双向队列处理,甚至能把栈,队列,双向队列的特点和方法集合起来。
我们可以用下面的一些方法来对数组进行任意的插入删除 *** 作。
栈方法:后进先出
push() :方法可以接收任意数量的参数,把他们添加到数组末尾,并返回修改后数组的长度。
pop() :方法则从数组末尾移除最后一项,减少数组的length,然后返回移除的项。
队列方法:先进先出
shift():移除数组中的第一个项并返回该项,长度减1
结合使用shift()和push()方法,可以想使用队列一样使用数组,后端添加,前端删除
Unshift():在数组前端添加任意个项并返回新数组的长度
结合使用unshift()和pop()方法,从相反的方向来模拟队列,即在数组的前端添加项,在后端移除
var colors = new Array()
var count = colors.push("red","green")
alert(count) //2
var item = colors.shift() //队列出队 *** 作
alert(item) //"red"
colors.unshift("red") //从前边插入
重排序方法:
sort()方法:
sort在排序时都用toString把数据转换成字符串形式:
var values = [0,1,5,10,15]
values.sort()
alert(values) // 0 ,1 ,10, 15 ,5
要实现对数的排序,需要写一个比较函数:
function compare(value1,value2){
if(value1 <value2){
return -1
}else if(value1 >value2){
return 1
}else return 0
}
values.sort(compare)
reverse()方法:反转数组项的顺序
*** 作方法:
1、contact():基于当前数组中的所有项创建一个新数组,而不是在当前数组上直接拼接。
colors.contact(["black","yellow"]) //contact用来拼接数组,把参数数组拼接到colors的后面
2、slice():基于当前数组中的一个或多个项创建一个新数组,可接收一或两个参数,即要返回项的起始和结束位置。若参数中有一个负数,则用数组长度加上该数来确定相应的位置
var colors = ["red","blue","green"]
var colors2 = colors.slice(1) //返回从数组下标1到最后缩构成的一个数组
var colors3 = colors.slice(1,4) //
返回从数组下标1--3构成的一个数组
3、splice()方法:删除、插入、替换
删除:当splice方法指定两个参数时,color.splice(1,3)表明删除从下标1开始连续三项
插入:当splice指定三个参数:起始位置、0、插入的项,color.splice(2,0,"red","green") 表明从下标2开始插入“red”和“green”
替换:color.splice(1,2,"red","green") 表明先删除下标1开始的连续两项,在从下标1开始插入“red”和“green”
位置方法:
indexOf()方法:
colors.indexOf(value) 从数组开头开始查找value,返回value的下标,如果没找到返回-1 。在查找时要求严格查找,相当于===
lastIndexOf()方法:从数组的末尾开始向前查找
<script>var goods = new Array(), // 保存商品的数组
counter = 0// 商品数目
function addList() {
var o = document.getElementById('add')
// 没有输入商品
if (o.value.length == 0) {
alert('please enter an item!')
return false
}
goods.push(o.value)// 添加商品到数组
counter++// 商品数目加一
show()
}
function resetList() {
counter = 0// resets the "counter" to zero
goods.length = 0// resets the array by reinitializing the array
show()
}
// 页面处理
function show() {
document.getElementById('add').setAttribute('value', '')// 清空输入
document.getElementById('number').setAttribute('value', counter)// 页面显示商品数目
document.getElementById('item').setAttribute('value', goods)// 页面显示商品
}
function remove() {
goods.pop()// removes the last item on your list
if (counter != 0) counter--// updates the counter
show()
}
function sortlist() {
goods.sort()// sorts the list alphabetically from A to Z
show()
}
function reverselist() {
goods.reverse()// sorts the list alphabetically from Z to A
show()
}
</script>
<h2>My Shopping List</h2>
<div>Enter an item to add in your list:
<input type="text" name="add" value=""/>
</div>
<div><input type="button" name="submit" value="Add to my List" onclick="addList()"/>
<input type="button" name="reset" value="reset" onclick="resetList()"/>
</div>
Number of items in your list:
<input type="text" name="number" value="0"/>
<div><b>Items you need to buy at the store:</b></div><br>
<input type="text" name="item" value="" style="width:450px"/>
<div>
<input type="button" name="remove" value="remove" onclick="remove()"/>
<input type="button" name="" value="sortlist" onclick="sortlist()"/>
<input type="button" name="reset" value="reverselist" onclick="reverselist()"/>
</div>
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)