数组的创建,及数组的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组的创建,及数组的方法相关的知识,希望对你有一定的参考价值。
参考技术A 一、如何创建一个数组?创建数组的方法常见的有三种:
第一种:
第二种:
第三种:
二、数组的一些操作方法
1.数组的length属性:用来计算数组的长度,也就是数组元素的个数
2.数组的push方法:用来向数组的尾部添加新的元素
3.数组的unshift方法:用来向数组元素的前面添加元素
4.数组的pop方法:用来删除数组里面的最后一个元素
5.数组的shift方法:用来删除数组里面的第一个元素
6.数组的splice方法:用来对数组元素进行切割,并且可以增删改的操作
6.数组元素的排序方法:sort(从小到大)、reverse(从大到小)
7.数组的join方法:将数组转化为字符串
8.数组的slice方法:同样是数组的切分方法,但是它不作用在原数组,而是产生了一个新的数组
数组对象的创建及应用
数组对象
5.1数组对象的创建
创建数组对象的两种方式
- 字面量方式
- new Array()
<script>
//创建数组的两种方式
//1. 利用数组字面量
var arr = [1,2,3];
console.log(arr[0]);
//2.利用new Array()
//var arr1 = new Array(); //创建了一个空数组
//var arr1 = new Array(2); //这个2表示 数组的 长度为2 里面有两个空数组
var arr1 = new Array(2,3); //等价于[2,3] 这样写表示 里面有2个数组元素 是2和3
console.log(arr1);
</script>
5.2检测是否为数组
(1)instanceof 运算符 他可以用来检测是否为数组
(2)Array.isArray(参数);H5新增的方法 ie9以上版本支持
<script>
//翻转数组
function reverse(arr)
if (arr instanceof Array)
var newArr = [];
for(var i = arr.length - 1; i>=0; i--)
newArr[newArr.length] = arr[i];
return newArr;
else
return error 这个参数要求必须是数组格式[1,2,3]
console.log(reverse([1,2,3]));
console.log(reverse(1,2,3));
//检测是否为数组
//(1)instanceof 运算符 他可以用来检测是否为数组
var arr = [];
var obj = ;
console.log(arr instanceof Array);
console.log(obj instanceof Array);
//(2)Array.isArray(参数);H5新增的方法 ie9以上版本支持
console.log(Array.isArray(arr));
console.log(Array.isArray(obj));
</script>
5.3添加删除数组元素的方法
<script>
var arr = [1,2,3];
// (1) push是可以给数组后面追加新的元素
//arr.push(4, pink);
console.log(arr.push(4, pink));
console.log(arr);
// (1) push是可以给数组后面追加新的元素
// (2) push() 参数直接写数组元素就可以了
// (3) push完毕之后,返回的结果是新数组的长度
// (4) 原数组也会发生变化
// 2. unshift 在我们数组的开头添加一个或者多个数组元素
console.log(arr.unshift(red,purple));
console.log(arr);
// (1) unshift是 可以给数组前面追加新的元素
// (2) unshift() 参数直接写数组元素就可以了
// (3) unshift完毕之后,返回的结果是新数组的长度
// (4)原数组也会发生变化
//3. pop() 他可以删除数组的最后一个元素
console.log(arr.pop());
console.log(arr);
// (1) pop是 可以删除数组的最后一个元素 记住一次只能删除一个元素
// (2) pop() 没有参数
// (3) pop完毕之后,返回的结果是 删除的那个元素
// (4)原数组也会发生变化
//4. shift() 他可以删除数组的第一个元素
console.log(arr.shift());
console.log(arr);
// (1) shift是 可以删除数组的第一个元素 记住一次只能删除一个元素
// (2) shift() 没有参数
// (3) shift完毕之后,返回的结果是 删除的那个元素
// (4)原数组也会发生变化
</script>
筛选数组中的元素
<script>
//有一个包含工资的数组[1500,1200,2000,2100 ,1800],
// 要求把数组中工资超过2000的删除,剩余的放到新数组里面
var arr = [1500,1200,2000,2100,1800,1530];
var newArr = [];
for(var i =0; i < arr.length; i++)
if(arr[i] < 2000)
newArr.unshift(arr[i]);
console.log(newArr);
</script>
5.4数组排序
<script>
//数组排序
//1.翻转数组
var arr = [pink,red,blue];
arr.reverse();
console.log(arr);
//2.数组排序(冒泡排序)
var arr1 = [12,13,4,7,1];
arr1.sort(function(a,b)
return a - b; //升序的顺序排列
// return b - a; //降序的顺序排列
);
console.log(arr1);
</script>
5.5数组索引方法
<script>
// 返回数组元素索引号方法indexOf( 数组元素)作用
// 就是返回该数组元素的索引号 从前面开始查找
// 它只返回第一个满足条件的索引号
// 它如果在该数组里面找不到元素,则返回的是-1
var arr = [red,green,pink];
console.log(arr.indexOf(blue));
// 返回数组元素索引号方法lastIndexOf( 数组元素)作用
// 就是返回该数组元素的索引号 从后面开始查找
var arr = [red,green,blue,pink,blue];
console.log(arr.lastIndexOf(blue)); //4
</script>
数组去重案例
案例分析:
目标:把旧数组里面不重复的元素选取出来放到新数组中,重复的元素只保留-个,放到新数组中去重。
核心算法:我们遍历旧数组,然后拿着I8数组元素去查询新数组,如果该元素在新数组里面没有出现过,我们就添加,否则不添加。
我们怎么知道该元素没有存在?利用新数组.indexOf(数组元素)如果返回时-1就说明新数组里面没有改元素
<script>
// 封装一个 去重的函数 unique 独一无二的
function unique(arr)
var newArr = [];
for(var i =0; i<arr.length; i++)
if(newArr.indexOf(arr[i])===-1)
newArr.push(arr[i]);
return newArr;
var demo = unique([blue,geen,blue])
console.log(demo);
</script>
5.6数组转化为字符串
<script>
//数组转换为字符串
// 1.toString() 将我们的数组转换为字符串
var arr = [1,2,3];
console.log(arr.toString()); //1,2,3
//2.join(分隔符)
var arr1=[gren,gyq,pink];
console.log(arr1.join()); //green,blue,pink
console.log(arr1.join(-)); //green-blue-pink
console.log(arr1.join(&)); //green&blue&pink
</script>
5.7拓展
以上是关于数组的创建,及数组的方法的主要内容,如果未能解决你的问题,请参考以下文章