JavaScript操作数组

数组的遍历、插入、删除操作

在JavaScript中,数组是一种常见的数据结构,可以包含多个元素,并且可以进行遍历、插入和删除等操作。下面分别介绍数组的遍历、插入和删除操作。
1,数组的判断:
代码不能操作空对象(空指针),在操作数组之前,一般建议先判断数组是否为空。

let arr = [1, 2, 3]; // 假设有一个变量名为arr,判断arr是否为空
if (Array.isArray(arr)) {  
  console.log("arr 是数组");
  if (0 < arr.length) {  
    console.log("arr 数组非空");
  } else {  
    console.log("arr 数组是空,没有子元素");  
  }

} else {  
  console.log("arr 不是数组");  
}

2,数组的遍历:
使用for循环、forEach方法、for...of循环或map方法等,可以对数组进行遍历操作。下面是几种常见的遍历方式示例:

// for循环
const arr = [1, 2, 3, 4, 5];  
for (let i = 0; i < arr.length; i++) {  
  console.log(arr[i]); // 输出数组中的每个元素  
}

// forEach方法(箭头函数)
const arr = [1, 2, 3, 4, 5];  
arr.forEach(item => {  
  console.log(item);  
});  
// forEach方法(匿名函数)
const arr = [1, 2, 3, 4, 5];  
arr.forEach(function(element, index, array) {  
  console.log(element); // 输出数组中的每个元素  
});

// for...of循环
const arr = [1, 2, 3, 4, 5];  
for (const element of arr) {  
  console.log(element); // 输出数组中的每个元素  
}  

// map方法(匿名函数)
let arr = [1, 2, 3, 4];
let newArr = arr.map(function(x) { return x * 2; });
console.log(newArr); // [2, 4, 6, 8]
// map方法(箭头函数)
const arr = [1, 2, 3, 4, 5];  
arr.map(item => {  
  console.log(item);  
});
// map方法(使用thisValue)
const myObject = {a: 1};
arr.map((num) => { console.log(this); }, myObject);
// 现在,当回调函数被调用时,this将指向myObject,意味着可以从回调函数中访问myObject的属性和方法。

/* 注意返回值:Array.map()方法不会修改原数组,而是返回一个新数组,新数组中的元素是通过回调函数处理后的结果‌ */

3,数组的插入和删除操作:
在JavaScript数组中插入元素通常涉及以下几种方法:push、unshift、splice

// push方法(在数组末尾插入)
const arr = [1, 2, 3];  
arr.push(4); // arr现在是[1, 2, 3, 4]  

// unshift方法(在数组开头插入)
const arr = [1, 2, 3];  
arr.unshift(0); // arr现在是[0, 1, 2, 3]  

// splice方法(在任意位置插入)
const arr = [1, 2, 4];  
arr.splice(2, 0, 3); // arr现在是[1, 2, 3, 4],在索引2的位置插入3,不删除任何元素  

从JavaScript数组中删除元素可以通过以下方法实现:pop、shift、splice、filter

// pop方法(删除并返回数组最后一个元素)
const arr = [1, 2, 3, 4];  
const last = arr.pop(); // last是4,arr现在是[1, 2, 3]  

// shift方法(删除并返回数组第一个元素)
const arr = [1, 2, 3, 4];  
const first = arr.shift(); // first是1,arr现在是[2, 3, 4]  

// splice方法(删除任意位置的元素)
const arr = [1, 2, 3, 4];  
arr.splice(1, 2); // arr现在是[1, 4],从索引1开始删除2个元素  

// filter方法(根据条件删除元素)
const arr = [1, 2, 3, 4, 5];  
const newArr = arr.filter(function(element) {  
  return element !== 3; // 删除值为3的元素,newArr现在是[1, 2, 4, 5]  
});  
/* 请注意,filter方法不会修改原始数组,而是返回一个新数组。如果你想修改原始数组,你可以使用splice结合循环,或者使用其他会修改原始数组的方法。 */
posted @   熊仔其人  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
点击右上角即可分享
微信分享提示