前端js学习笔记--内置对象数组

一.创建数组的两种方式

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,5); //等价于[2,3,5] 

二.检测是为数组的方法

1.instanceof 运算符 它可以用来检测是否为数组

var arr = [];
var obj = [];
console.log(arr instanceof Array); //true
console.log(obj instanceof Array); // false

2.Array.isArray(参数) H5新增方法 ie9以上版本支持

console.log(Array.isArray([1,2,3])); //true
console.log(Array.isArray(3)); //false

三.添加删除数组元素的方法

1.push() 在数组的末尾,添加一个或多个数组元素

var arr = [1,2,3];
arr.push(4);
console.log(arr);// 输出[1,2,3,4]

var arr = [1,2,3];
arr.push(4,'pink');
console.log(arr);// 输出[1,2,3,4,'pink']
  • push是可以给数组追加新的元素
  • push()中参数直接写数组想要添加的元素就可以了
  • push完毕后,返回的结果是新数组的长度console.log(arr.push(4,'pink')); //返回值是5,即数组的长度
  • 原数组也会发生变化

2.unshift在数组的开头添加一个或多个数组元素

var arr = [1,2,3];
arr.unshift(4,'pink');
console.log(arr);// 输出[4,'pink',1,2,3]
  • unshift是可以给数组前面追加新的元素
  • unshift()中参数直接写数组想要添加的元素就可以了
  • unshift完毕后,返回的结果是新数组的长度console.log(arr.unshift(4,'pink')); //返回值是5,即数组的长度
  • 原数组也会发生变化

3.pop() 删除数组的最后一个元素

arr.pop();
console.log(arr);
  • pop是可以删除数组中的最后一个元素,记住一次只能删一个元素
  • pop()中没有参数
  • pop完毕之后,返回的结果是删除的那个元素
  • 原数组也会发生变化

4.shift() 可以删除数组中的第一个元素

arr.shift();
console.log(arr);
  • shift是可以删除数组中的第一个元素,记住一次只能删一个元素
  • shift()中没有参数
  • shift完毕之后,返回的结果是删除的那个元素
  • 原数组也会发生变化

四.数组排序

方法名说明是否修改原数组
reverse()颠倒数组中元素的顺序,无参数会改变原来的数组,返回新数组
sort()对数组中的元素进行排序会改变原来的数组,返回新数组
var arr = ['pink','red','blue'];
arr.reverse(); // 翻转
console.log(arr); // ['blue','red','pink']

var arr = [3,4,7,1];
arr.sort(); // 排序 从小到大
console.log(arr); // [1,3,4,7]  

但是没有参数的sort()只针对于个位数,假如有[13,4,77,1,7]则无法成功排序,因此需要
var arr = [13,4,77,1,7];
arr.sort(function(a,b){
	return a-b; //升序的顺序排序
	return b-a; //降序的顺序排序
}); // 排序 从小到大
console.log(arr); // [1,3,4,7]  

五.数组索引方法

方法名说明返回值
indexOf(数组元素)数组中查找给定元素的第一个索引返回存在的索引号,如果不存在,则返回-1
lastIndexOf(数组元素)数组中查找给定元素的最后一个索引返回存在的索引号,如果不存在,则返回-1

案例:数组去重

分析:

  • 目标:把旧数组里面不重复的元素取出来放到新数组中,重复的元素只保留一个,放到新数组中去重
  • 核心算法:我们遍历旧数组,然后拿着旧数组元素去查询新数组,如果该元素在新数组里面没有出现过,就添加,否则不添加
  • 那如何知道元素是否存在?利用新数组.indexOf(数组元素),如果返回-1就说明新数组中没有该元素
var arr = ['c','a','z','a','x','a','x','c','b'];
        var newArr = [];
        function unique(){
            for(var i=0;i<arr.length;i++){
                if(newArr.indexOf(arr[i]) === -1){
                    newArr.push(arr[i]);
                }
            }
            return newArr;
        }
        console.log(unique  ());

六.数组转换为字符串

方法名说明返回值
toString()把数组转换成字符串,逗号分隔每一项返回一个字符串
join(“分隔符”)把数组转换成字符串,通过"分隔符"划分每一项,默认逗号返回一个字符串
var arr = [1,2,3];
console.log(arr.toString()); // 1,2,3

var arr = ['blue','pink','green'];
console.log(arr.join()); // blue,pink,green
console.log(arr.join('&')); // blue&pink&green
console.log(arr.join('-')); // blue-pink-green

七.其他方法

方法名说明返回值
concat()连接2个或多个数组,不影响原数组返回一个新数组
slice()数组截取slice(begin,end)返回被截取项目的新数组
splice()根据指定位置进行数组替换、删除、添加 splice(index,len,[item])返回删除项目后的新数组,会影响原数组
var arr = ['a','b','c','d'];
arr.splice(1,1);
console.log(arr); //['a','c','d']; 

var arr2 = ['a','b','c','d'];
arr2.splice(1,2,'ttt');
console.log(arr2); //['a','ttt','d'] 

var arr = ['a','b','c','d'];
arr.splice(1,0,'ttt');
console.log(arr); //['a','ttt','b','c','d'] 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值