JavaScript- 2.5 内置对象ARRAY

本系列可作为前端学习系列的笔记,代码的运行环境是在HBuilder中,小编会将代码复制下来,大家复制下来就可以练习了,方便大家学习。

HTML和CSS系列文章 已经收录在前端专栏,有需要的宝宝们可以点击前端专栏查看!

点赞关注不迷路!您的点赞、关注和收藏是对小编最大的支持和鼓励! 

系列文章目录 

JavaScript- 1.1 行内、内部、外部三种引用方式

JavaScript- 1.2 ECMA基本语法和控制流

JavaScript- 1.3 DOM对页面内容进行操作

JavaScript- 1.4 BOM对浏览器进行操作

JavaScript- 1.5 数据类型+变量+运算符

JavaScript- 1.6 基本控制流

JavaScript- 2.1 系统函数和自定义函数

JavaScript- 2.2 内置对象MATH

JavaScript- 2.3 内置对象String

JavaScript- 2.4 内置对象Date

JavaScript- 2.5 内置对象ARRAY 

JavaScript- 2.6 数组应用 

JavaScript- 2.7 二维数组

JavaScript- 3.1 定时器函数 window.settimeout & window.settinterval 

JavaScript- 3.2 JavaScript实现不同显示器尺寸的响应式主题和页面 

JavaScript- 4.1 DOM-document对象 

JavaScript- 4.2  DOM--定位元素

JavaScript- 4.3  轮播图实现指南


目录

系列文章目录 

前言

一、内置对象 Array 详解

1、创建数组

1. 数组字面量表示法

2. Array 构造函数

2、数组属性

length 属性

3、数组方法

1. 修改数组的方法

push() / pop()

shift() / unshift()

splice()

2. 遍历数组的方法

forEach()

map()

filter()

reduce() / reduceRight()

3. 搜索和排序方法

find() / findIndex()

indexOf() / lastIndexOf()

includes()

sort()

4. 其他常用方法

slice()

join()

concat()

flat() / flatMap()

4、数组迭代

5、数组类型检测

6、类数组对象

7、稀疏数组

8、性能考虑

 二、代码实践

总结


前言

小编作为新晋码农一枚,会定期整理一些写的比较好的代码,作为自己的学习笔记,会试着做一下批注和补充,如转载或者参考他人文献会标明出处,非商用,如有侵权会删改!欢迎大家斧正和讨论!

一、内置对象 Array 详解

Array 是 JavaScript 中最常用的内置对象之一,用于存储有序的元素集合。下面全面介绍 Array 对象的主要特性和方法。

1、创建数组

1. 数组字面量表示法

javascript

let arr1 = []; // 空数组
let arr2 = [1, 2, 3]; // 包含数字的数组
let arr3 = ['a', 'b', 'c']; // 包含字符串的数组
let arr4 = [1, 'two', true, null]; // 混合类型数组

2. Array 构造函数

javascript

let arr5 = new Array(); // 空数组
let arr6 = new Array(3); // 创建长度为3的空数组
let arr7 = new Array(1, 2, 3); // 包含元素的数组

2、数组属性

length 属性

javascript

let fruits = ['Apple', 'Banana', 'Orange'];
console.log(fruits.length); // 输出: 3

// 修改length可以截断或扩展数组
fruits.length = 2;
console.log(fruits); // 输出: ['Apple', 'Banana']

fruits.length = 5;
console.log(fruits); // 输出: ['Apple', 'Banana', empty × 3]

3、数组方法

1. 修改数组的方法

push() / pop()

javascript

let stack = [];
stack.push('a'); // 添加到末尾
stack.push('b', 'c'); // 可以添加多个元素
console.log(stack); // ['a', 'b', 'c']

let last = stack.pop(); // 移除并返回最后一个元素
console.log(last); // 'c'
console.log(stack); // ['a', 'b']
shift() / unshift()

javascript

let queue = ['a', 'b', 'c'];
let first = queue.shift(); // 移除并返回第一个元素
console.log(first); // 'a'
console.log(queue); // ['b', 'c']

queue.unshift('x', 'y'); // 在开头添加元素
console.log(queue); // ['x', 'y', 'b', 'c']
splice()

javascript

let arr = ['a', 'b', 'c', 'd', 'e'];

// 从索引2开始删除1个元素,并插入'x', 'y'
arr.splice(2, 1, 'x', 'y');
console.log(arr); // ['a', 'b', 'x', 'y', 'd', 'e']

// 只删除不添加
arr.splice(1, 2); // 从索引1开始删除2个元素
console.log(arr); // ['a', 'y', 'd', 'e']

// 只添加不删除
arr.splice(2, 0, 'z');
console.log(arr); // ['a', 'y', 'z', 'd', 'e']

2. 遍历数组的方法

forEach()

javascript

let numbers = [1, 2, 3, 4];
numbers.forEach(function(item, index, array) {
  console.log(`索引 ${index}: 值 ${item}`);
});
map()

javascript

let numbers = [1, 2, 3];
let doubled = numbers.map(function(item) {
  return item * 2;
});
console.log(doubled); // [2, 4, 6]
filter()

javascript

let numbers = [1, 2, 3, 4, 5];
let evens = numbers.filter(function(item) {
  return item % 2 === 0;
});
console.log(evens); // [2, 4]
reduce() / reduceRight()

javascript

let numbers = [1, 2, 3, 4];
let sum = numbers.reduce(function(accumulator, current) {
  return accumulator + current;
}, 0);
console.log(sum); // 10

3. 搜索和排序方法

find() / findIndex()

javascript

let users = [
  {id: 1, name: 'John'},
  {id: 2, name: 'Jane'},
  {id: 3, name: 'Bob'}
];

let user = users.find(function(item) {
  return item.id === 2;
});
console.log(user); // {id: 2, name: 'Jane'}
indexOf() / lastIndexOf()

javascript

let arr = ['a', 'b', 'a', 'c', 'a'];
console.log(arr.indexOf('a')); // 0
console.log(arr.lastIndexOf('a')); // 4
includes()

javascript

let arr = [1, 2, 3, NaN];
console.log(arr.includes(2)); // true
console.log(arr.includes(NaN)); // true (与indexOf不同)
sort()

javascript

let arr = [3, 1, 4, 1, 5, 9];
arr.sort(); // 默认按字符串Unicode码点排序
console.log(arr); // [1, 1, 3, 4, 5, 9]

// 数字排序
arr.sort(function(a, b) {
  return a - b; // 升序
});

4. 其他常用方法

slice()

javascript

let arr = ['a', 'b', 'c', 'd', 'e'];
let sub1 = arr.slice(2); // 从索引2开始到末尾
let sub2 = arr.slice(1, 4); // 从索引1到3
console.log(sub1); // ['c', 'd', 'e']
console.log(sub2); // ['b', 'c', 'd']
join()

javascript

let arr = ['a', 'b', 'c'];
console.log(arr.join()); // "a,b,c"
console.log(arr.join('-')); // "a-b-c"
concat()

javascript

let arr1 = [1, 2];
let arr2 = [3, 4];
let combined = arr1.concat(arr2);
console.log(combined); // [1, 2, 3, 4]

// 也可以合并多个数组或值
let more = arr1.concat(5, [6, 7]);
console.log(more); // [1, 2, 5, 6, 7]
flat() / flatMap()

javascript

let nested = [1, [2, [3, [4]]]];
console.log(nested.flat(2)); // [1, 2, 3, [4]]

let arr = [1, 2, 3];
let flatMapped = arr.flatMap(x => [x, x * 2]);
console.log(flatMapped); // [1, 2, 2, 4, 3, 6]

4、数组迭代

ES6 引入了数组的迭代器:

  • entries() - 返回键值对迭代器
  • keys() - 返回键(索引)迭代器
  • values() - 返回值迭代器

javascript

let arr = ['a', 'b', 'c'];

// 使用entries()
for (let [index, value] of arr.entries()) {
  console.log(index, value);
}
// 输出:
// 0 'a'
// 1 'b'
// 2 'c'

5、数组类型检测

javascript

console.log(Array.isArray([])); // true
console.log(Array.isArray(new Array())); // true
console.log(Array.isArray({})); // false

6、类数组对象

JavaScript 中有一些类数组对象(如 arguments、DOM 集合等),可以使用 Array.from() 转换为真正的数组:

javascript

function example() {
  let args = Array.from(arguments);
  console.log(args instanceof Array); // true
}
example(1, 2, 3);

7、稀疏数组

JavaScript 数组可以包含"空槽"(empty slots),这些位置的值是 undefined:

javascript

let arr = [1, , 3];
console.log(arr.length); // 3
console.log(arr[1]); // undefined
console.log(0 in arr); // true
console.log(1 in arr); // false

8、性能考虑

  • 在数组末尾添加/删除元素(push/pop)通常比在开头(shift/unshift)更快
  • 预先知道数组大小时,可以指定长度提高性能
  • 连续内存访问比随机访问更快

Array 是 JavaScript 中非常强大且灵活的数据结构,掌握其各种方法对于高效编程至关重要。

 二、代码实践

代码如下:

HTML

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>内置对象-ARRAY</title>
	</head>
	<body>
		<script type="text/javascript">
			//创建
			var a=[1,2,3];
			var myArray=new Array();
			//myArray[2]=3;
			//console.log(myArray);
			var myArray1=new Array(3);
			console.log(myArray1);
			var myArray2=new Array(1,2,3,4);
			console.log(myArray2);
			//1-100放入数组
			var myArray3=new Array();
			for(var i=1;i<=100;i++){
				myArray3[myArray3.length]=i;
			}
			console.log(myArray3);
		</script>
	</body>
</html>

代码运行如下:


总结

以上就是今天要讲的内容,本文简单记录了JavaScript-内置对象ARRAY,仅作为一份简单的笔记使用,大家根据注释理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yvonne爱编码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值