JS内置对象——数组对象
// 1、创建数组
// (1)字面量创建
var arr1 = [1, 2, 3];
// (2)利用new Array()
var arr2 = new Array(); //创建空数组
var arr3 = new Array(2); //创建长度为2的空数组
var arr4 = new Array(2, 3); //等价于[2,3]
//2、检测是否为数组,,,,,instanceof isArray
console.log(arr1 instanceof Array);
console.log(Array.isArray(arr1));
//3、添加数组元素,,,,,,,,push unshift
// arr1.push(4, 'c'); //在数组末尾添加
console.log(arr1.push(4, 'c')); //返回的是添加后数组的长度
console.log(arr1);
// arr1.unshift(55, 'c'); //在数组前面添加
console.log(arr1.unshift(5, 'c')); //返回的是添加后数组的长度
console.log(arr1);
// 4、删除元素,,,,,,pop shift
// arr1.pop(); //删除数组最后一个元素
console.log(arr1.pop()); //返回的是删除的元素
console.log(arr1);
// arr1.shift(); //删除数组第一个元素
console.log(arr1.shift()); //返回的是删除的元素
console.log(arr1);
// 5、数组排序
// (1)翻转数组
var newarr = [4, 2, 8, 11, 83]
console.log(newarr.reverse());
//(2)排序,,,,单纯的sort()只能解决个位数的排序问题
newarr.sort(function(a, b) {
// return a-b; //升序
return b - a; //降序
});
console.log(newarr);
// 6、数组索引号
var arr4 = [4, 2, 8, 11, 4, 83, 2, 5]
console.log(arr4.indexOf(2, 3)); //从前往后找,只返回第一个满足条件的索引号,如果在该数组里面找不到指定元素,则返回的是-1,从索引3的位置开始查找
console.log(arr4.lastIndexOf(2)); //从后往前找,只返回第一个满足条件的索引号,如果在该数组里面找不到指定元素,则返回的是-1
//数组去重案例
// 核心算法:遍历旧数组,然后拿着旧数组元素去查询新数组,如果该元素在新数组里面没有出现过,我们就添加,否则环添加。
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;
}
console.log(unique([4, 2, 8, 11, 4, 83, 2, 5]));
// 7、数组转换为字符串
console.log(arr4.toString()); //返回的是4,2,8,11,4,83,2,5
console.log(arr4.join('-')); //可以加分隔符,返回的是4-2-8-11-4-83-2-5
/* 8、concat(),array1.concat(array2),,连接两个或多个数组不影响原数组,返回一个新的数组
slice(),数组截取slice(begin, end),返回被截取项目的新数组,[begin, end),数组下标
splice(),数组删除splice(从索引数开始,[要删除个数,要添加的元素]),返回被删除项目的新数组 注意,这个会影响原数组 */
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix