首页 > 其他 > 详细

Array对象

时间:2021-02-17 23:50:10      阅读:29      评论:0      收藏:0      [点我收藏+]

1)创建数组的两种方法

//1 字面量[]创建
var arr = []; //创建一个空数组
var arr1 = [2,3,4];//创建一个长度为3的数组

//2 new Array创建
var arr = new Array(); //创建一个空数组
var arr = new Array(2); //创建了一个长度为2的空数组 [1个参数]
var arr1 = new Array(2,3,4); //2个以上参数就是初始化,等价于 var arr1 = [ 2,3,4]

2)检测数组

方法一
instance 实例的意思 instanceof 运算符的意思
var arr = new Array(); //创建一个空数组 console.log(arr instanceof Array ); //返回布尔值
var obj = {};
console.log(obj instanceof Object);//true 检测是否是对象

方法二
Array.isArray(arr_name);

3)添加数组元素

var arr = [1,2,3,4];
var res1 = arr.unshift(0,李白);//向数组开头压入一个或多个元素
var res2 = arr.push(5,杜甫);//向数组尾部压入一个或多个元素

console.log(res1);//返回值:返回新数组的长度
console.log(res2);//返回值:返回新数组的长度
console.log(arr);// [0, "李白", 1, 2, 3, 4, 5, "杜甫"]

4)删除数组元素

var arr = [1,2,3,4];
var res = arr.pop();//1 删除数组末尾的最后一个元素
var res1 = arr.shift();//2 删除数组开头的第一个元素

console.log(res);//4 返回值:被删除的元素
console.log(res1);//1 返回值:被删除的元素
console.log(arr);//[2,3] 

小demo:把数组中大于2000删除

//把工资大于2000的删除
var arr = [1500,2200,3200,1400];
var newArr = [];

for (var i = 0;i < arr.length; i++) {
    if (arr[i] < 2000) {
        newArr.push(arr[i]);
    }
}
console.log(arr);
console.log(newArr);

5)数组排序

//翻转数组
var arr = [1,2,3];
arr.reverse();
console.log(arr); //[3, 2, 1]

//冒泡排序
var arr1 = [10,9,22,34,35,45,41];
//arr1.sort();//做冒泡有一些问题 它是基于 UTF-16代码


//做一些改进 实现冒泡算法 [ 里面的函数写法是固定的 ] arr1.sort(function (a,b) { return b - a;//[a-b是从小到大] [b-a从大大小] }) console.log(arr1);

6)查找元素的索引号

//1 indexOf()  从前往后查找
var arr = [李白,杜甫,白居易,白居易];
console.log(arr.indexOf(白居易)); //返回 2  如果存在 返回索引号
console.log(arr.indexOf(李商隐)); //返回-1  如果不存在 返回-1

//2 lastIndexOf() 从后往前查找 
console.log(arr.lastIndexOf(白居易));//如果存在 返回索引号 
console.log(arr.lastIndexOf(李商隐));//如果不存在 返回-1

数组去重 [ 重点案例 ] 

//数组去重
//目标:把旧数组中不重复的元素选出来,重复的只保留一个 存放到新数组中
//核心思路:我们遍历旧数组,拿旧数组的元素值去新数组中匹配 如果不存在就push到新数组中
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 res = unique([c, a, z, a, x, a, x, c, b]);
console.log(res);

技术分享图片

7)将数组装换为字符串

//方法1 toString()
//方法2 join(‘分隔符号‘)
var arr = [1,2,3];
console.log(arr.toString());//转换为字符串
console.log(arr.join(|));//可以用其他符号分割,默认是逗号

 

Array对象

原文:https://www.cnblogs.com/fuyunlin/p/14409071.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!