数组(Array)对象
数组(Array)对象
创建数组的两种方式
1.利用字面量创建
2.利用new 关键字 创建 var arr = new Array;
// 创建数组的两种方式
// 1.利用数组字面创建:
var arr = [1,2,3];
// 2.利用new Array()
var arr1 = new Array(2); /* 只给一个数值,是说明里面的数组长度(length)为2 里面存了两 个空的数组元素 */
console.log(arr1);
var arr2 = new Array(2,3); /* 给一个以上的数值,是说 里面的数组元素为[2,3] 等价于 var arr1 = [2,3]; */
console.log(arr2);
检测是否为数组的两种方式
- instanceof 运算符
- Array.isArray() 这是一个方法
// 检查是否为数组的两种方式
// 1. instanceof 运算符
var arr = [];
var obj = new Object();
console.log(arr instanceof Array); // 如果是数组就返回 true 否则返回 false
console.log(obj instanceof Array);
// 2. Array.isArray() 这是一个方法 H5新增的 i9以上才支持
var obj = {};
console.log(Array.isArray(obj));
var arr1 = [];
console.log(Array.isArray(arr1));
添加数组元素的方法
1.push()方法 :push() 可以在我们数组的末尾 添加一个或多个数组元素
// 1.push() 可以在我们数组的末尾 添加一个或多个数组元素
var arr = [1,2,3];
arr.push(10); // 末尾添加一个数组元素
console.log(arr);
console.log(arr.push(10));
-----------------------------------------------------
arr.push('4','pink','Day','Minute'); // 末尾添加多个数组元素
console.log(arr);
-----------------------------------------------------
var arr1 = [10,20,30];
console.log(arr1.push(40,50,60,70)); /* arr.push(40,50,60,70) 返回的是添加元素后新数组的长度 */
(1) push 是可以给数组追加新的元素
(2) push() 参数直接写数组元素就可以了
(3) push完毕之后,返回的结果是 新数组的长度
(4) 原数组也会发生变化
2.unshift()方法 :unshift() 在我们数组的开头 添加一个或者多个数组元素 使用方法跟push()一模一样 不同的是 push( )是在末尾添加一个或多个数组元素 ,而unshift()是在开头添加一个或多个数组元素。
/* 2. unshift() 在我们数组的开头 添加一个或者多个数组元素 使用方法跟push()一模一样 不同的是 push( )是在末尾添加一个或多个数组元素 ,而unshift()是在开头添加一个或多个数组元素。 */
var arr = [1,2,3];
console.log(arr.unshift('pink','green'));
console.log(arr);
删除数组元素的方法
1.pop() 它可以删除最后一个数组元素,一次只能删除一个元素
var arr = [1,2,3];
arr.pop(); // 里面不跟参数 ,一次只删除一个元素
console.log(arr);
----------------------------------------
var arr1 = [1,2,3];
console.log(arr1.pop()); // pop返回的结果是删除的那个元素, 就是删谁就返回谁 这里返回3
console.log(arr1);
(1) pop是可以删除数组的最后一个元素 记住一次只能删除一个元素
(2) pop() 没有参数
(3) pop完毕之后,返回的结果 删除的那个元素
(4) 原数组也会发生变化
2.shift() 可以删除数组的开头第一个元素 ,一次只能删除一个数组元素 使用方法跟 pop() 一模一样 不同的是pop() 是删除最后一个数组元素 ,而shift() 是删除数组的第一个元素 ,一次只能删除一个 */
var arr = [1,2,3];
arr.shift();
console.log(arr);
-------------------------
var arr1 = [1,2,3];
console.log(arr1.shift()); // shift() 返回的是被删除的那个数组元素
console.log(arr1);
(1) shift 是可以删除数组的第一个元素 记住一次只能删除一个元素
(2) shift() 没有参数
(3) shift完毕之后,返回的结果是 删除的那个元素
(4) 原数组也会发生变化
添加和删除数组元素的小结
方法名 | 说明 | 返回值 |
---|---|---|
push(参数1....) | 末尾添加一个或多个元素,注意修改原数组 | 并返回新的数组长度 |
pop() | 删除数组最后一个元素,把数组长度减1,无参数,修改原数组 | 返回它删除的元素的值 |
unshift(参数1...) | 向数组的开头添加一个或更多元素,注意修改原数组 | 并返回新的数组长度 |
shift() | 删除数组的第一个元素,数组长度减1,无参数,修改原数组 | 并返回第一个元素的值 |
数组排序翻转数组(reverse()方法) 使用方法:
方法名 | 说明 | 是否修改原数组 |
---|---|---|
reverse() | 颠倒数组中元素的顺序,无参数 | 该方法会改变原来的数组 返回新数组 |
sort() | 对数组的元素进行排序 | 该方法会改变原来的数组 返回新数组 |
var arr = [2,4,7,6,8,22,44];
arr.reverse();
console.log(arr);
数组排序(冒泡排序)(sort()方法) 使用方法:
var arr = [2,4,7,6,8,22,44];
arr.reverse();
console.log(arr);
//数组排序(冒泡排序)(sort()方法) 使用方法:
var air = [1,3,6,7,9,];
air.sort()
console.log(air); // 各位数没有问题,如果出现两位数的数字的就会出现毛病,如下:
var air = [1,3,6,7,9,11];
air.sort()
console.log(air); // 结果是:[1, 11, 3, 6, 7, 9]; 它是比较个位数的方法比较解决方法是在里面写一个函数,里面的写法比较固定,如下:
arr1 = [14,35,46,22,66,4];
arr1.sort(function(a,b) {
return b - a ; // 如果要升序返回值就写 a - b ,倒序就写 b - a , 写法比较固定,我这里是倒序。
});
console.log(arr1);
获取数组元素索引
数组索引方法:
方法名 | 说明 | 返回值 |
---|---|---|
indexOf() | 数组中查找给定元素的第一个索引 | 如果存在就返回索引号, 如果不存在则返回-1 |
lastIndexOf() | 在数组中的最后一个的索引 | 如果存在就返回索引号, 如果不存在则返回-1 |
// 返回数组元素索引号方法:
// 1. indexOf(数组元素) 作用就是返回该数组元素的索引号 从前面开始查找 如果没有找到就返回 -1
var arr = ['Chinese','pink','green','date','day'];
console.log(arr.indexOf('date'));
console.log(arr);
console.log(arr.indexOf('tc')); // 该数组元素不存在 没有查到 ,返回 -1
// 如果一个数组里面有相同的数组元素,它只返回从前面第一个满足条件的索引号,如:
var arr = ['Year','Month','Day','Hour','Day','Minute','Second']
console.log(arr.indexOf('Day')); // 里面有两个'Day'元素 , 它返回的是从前面开始的第一个 。不会返回 2 4。
// 2. lastIndexOf(数组元素) 作用跟 indexOf() 一样 ,不同的是lastIndexOf() 是从后面开始查 如果没有找到就返回-1
var arr1 = ['red','orange','blue','yello','green'];
arr1.lastIndexOf('yello'); // 3
console.log(arr1.lastIndexOf('yello'));
console.log(arr1.lastIndexOf('hecker')); // 该数组元素不存在 没有查到 ,返回 -1
数组转换为字符串
方法名 | 说明 | 返回值 |
---|---|---|
toString() | 把数组转换成字符串,逗号分隔每一项 | 返回一个字符串 |
join('分隔符') | 方法用于把数组中的所有元素转换为一个字符串(可以选择用什么分隔) | 返回一个字符串 |
// 1.toString()方法
var arr = [1,2,3];
console.log(arr.toString()); //转换为字符串'1','2','3' 用逗号分隔
// 2.join('分隔符')方法
var arr1 = [3,4,5];
console.log(arr1.join('-'));//用 - 分隔:3 - 4 - 5
console.log(arr1.join('/')); // 用/ 分隔 :3/4/5
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭