内置对象-数组对象
内置对象第二部分-数组
前言
一、数组对象的创建
数组对象创建有两种方式
- 字面量方式
- new Array()
//1.利用字面量创建数组
var arr = [1,2,3];
console.log(arr[0]);
//2.利用new Array()创建
var arr1= new Array(); //创建了一个空的数组
var arr2 = new Array(2); // 这个2表示 数组长度为2,里面有两个空的元素
var arr3 = new Array(2,3); // 等价于[2,3,] 有两个数组元素2和3
二、检测是否为数组
// (1)instanceof 运算符 用来检测是否为数组
var arr = [];
var obj = {};
console.log(arr instanceof Array); //true
console.log(obj instanceof Array); //false
// Array.isArray(参数)
console.log(Array.isArray(arr)); //true
三、添加或者删除数组元素
添加删除数组元素方法
// 1.push() 在我们数组的末尾 添加一个或者多个数组元素 push
var arr = [1,2,3];
arr.push(4,'夕颜');
console.log(arr); //---------[1,2,3,4,'夕颜']
// (1) push可以给数组追加新的元素
// (2) push()参数直接写 数组元素就行
// (3) push完毕后,返回的结果是 新数组的长度
// (4) 原数组也会发生变化
//----------------------------------------------------------------------------------------------
// 2.unshift
arr.unshift(4,'夕颜');
console.log(arr.unshift(4,'夕颜'));// 返回数组的长度 5
console.log(arr); //---------[4,'夕颜',1,2,3]
// (1) unshift可以给数组前面追加新的元素
// (2) unshift()参数直接写 数组元素就可以
// (3) unshift完毕后,返回的结果是 新数组的长度
// (4) 原数组也会发生变化
//----------------------------------------------------------------------------------------------
//3.pop() 删除数组最后一个元素
arr.pop();
console.log(arr.pop());
console.log(arr);
// (1) pop可以删除数组最后数组最后一个元素 记住一次只能删除一个元素
// (2) pop()没有参数
// (3) pop完毕之后, 返回的值是 删除的那个元素
// (4) 原数组也会发生变化
//----------------------------------------------------------------------------------------------
//3.shift() 删除数组前面一个元素
arr.shift();
console.log(arr.shift());
console.log(arr);
// (1) shift可以删除数组最后数组第一个元素 记住一次只能删除一个元素
// (2) shift()没有参数
// (3) shift完毕之后, 返回的值是 删除的那个元素
// (4) 原数组也会发生变
四、筛选数组元素
//有一个包含工资的数组[1500,1200,2000,2100,1800],要求把数组中工资多余2000的删除,剩余的放到新数组里面
var arr = [1500,1200,2000,2100,1800];
var newArr = [];
for( var i = 0; i<arr.length; i++) {
if (arr[i] < 2000) {
newArr.push(arr[i]);
}
}
console.log(newArr);
五、数组元素排序
翻转数组
var arr = ['夕','颜','夕颜'];
arr.reverse();
console.log(arr);//------------['夕颜','颜','夕']
数组排序
var arr1 = [1,3,7,2]
arr1.sort(function(a,b) {
// return a-b; 升序的顺序排列
return b-a; 降序的顺序排列
});
console.log(arr1); //------------[1,2,3,7]
六、数组元素索引获取
// 返回数组元素索引号的方法 indexOf(数组元素) 作用就是返回该数组元素的索引号
// 它只返回第一个满足条件的索引号
// 它如果在该数组里面找不到元素,则返回的是 -1
var arr = ['red','blue','red','pink','green'];
console.log(arr.indexOf('blue')); //返回blue的索引号 1
var arr1 = ['red','blue'];
console.log(arr1.indexOf('pink'));// 数组中没有pink元素,返回值 -1
//lastIndexOf 从数组后面开始查找
console.log(arr1.lastIndexOf('red'));// 返回red在数组中的索引号
❤重点案例
- 目标:把旧数组里面不断重复的元素取出来放到新数组里面,重复的元素值保留一个放到新数组中去重
- 核心算法 :遍历旧数组,然后将就数组里面的元素去查询新数组,如果该元素在新数组里面没有出现过。我们就添加,否则不添加。
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(['c','a','z','a','b','x','c','w'])
console.log(demo);
七、数组转换为字符串
//数组转换为字符串
//1.toString()
var arr = [1,2,3,'夕颜'];
console.log(arr.toString());
//2.join(分隔符)
var arr1 = ['夕','颜','夕颜'];
console.log(arr1.join('*')); // join里面的小括号可以选择用什么分隔符来分割
console.log(arr1.join('¥'));
总结
本文简单介绍了数组对象的用法,并通过三个案例掌握。