通过修改length长度为数组新增元素
- 通过修改数组长度可以达到数组扩容目的。
- 数组的length是可读可写的。
代码:
var arr = ['red', 'green', 'blue', 'pink'];
arr.length = 7;
console.log(arr);
console.log(arr[4]);
console.log(arr[5]);
console.log(arr[6]);
案例
1. 筛选数组
- 要求:
将数组中大于某个数的元素筛选出来 - 代码:
function filterData (arry,num) {
var newarry=new Array()
for(var i=0;i<arry.length;i++){
if(arry[i]>num){
newarry[newarry.length]=arry[i]
}
}
console.log(newarry)
return newarry
}
var arry=[1,2,3,3,4,23,23,45,45,45]
var result=filterData(arry,8)
console.log(result)
- 解释:
将大于该数值num的元素存放到新数组中,其中newarry[newarry.length]=arry[i]就利用length属性为数组动态添加元素。
2. 删除指定数组元素
- 描述:
将数组中指定的元素都删除。 - 思路:
for循环遍历数组->将非指定元素存放到新数组中->返回新数组即删除指定元素的数组。 - 代码:
function deleteArryData(arry,item){
var newarry=new Array()
for(var i=0;i<arry.length;i++){
if(arry[i]!==item){
newarry[newarry.length]=arry[i]
}
}
return newarry
}
var arry=[4,5,3,2,6,7,0,2,0,31]
var result=deleteArryData(arry,0)
console.log(result);
3. 翻转数组的实现
- 描述:
将一个数组中的元素翻转。 - 思路:
将原数组中的元素从后往前存放到新数组中,最后新数组即为翻转的数组。 - 代码:
function getReserveArry (arry){
var newarry=new Array()
for(var i=0;i<arry.length;i++){
newarry[newarry.length]=arry[arry.length-i-1]
}
return newarry
}
var arry=[1,4,6,7,2,3,7,0]
var result=getReserveArry(arry)
console.log(result);