>  기사  >  웹 프론트엔드  >  JavaScript 데이터 구조 배열과 관련된 작업 소개(예제 포함)

JavaScript 데이터 구조 배열과 관련된 작업 소개(예제 포함)

不言
不言앞으로
2019-02-13 09:40:342084검색

이 글은 JavaScript 데이터 구조 배열의 관련 작업을 소개합니다(예제 포함). 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

데이터 구조 분류

데이터 구조란 서로 하나 이상의 관계를 갖는 데이터 요소의 집합을 의미하며, 컬렉션의 데이터 요소 간의 관계.
일반적으로 사용되는 데이터 구조에는 그림과 같이 배열, 스택, 연결 목록, 큐, 트리, 그래프, 힙, 해시 테이블 등이 포함됩니다.

JavaScript 데이터 구조 배열과 관련된 작업 소개(예제 포함)# 🎜🎜## 🎜🎜#

array

Array는 가장 간단한 메모리 데이터 구조입니다. 배열은 여러 요소를 메모리에 연속적으로 저장할 수 있는 구조입니다. 메모리도 연속적이므로 배열의 요소는 배열 첨자를 통해 액세스되며 배열 첨자는 0부터 시작합니다.

팁: 데이터는 일반적으로 동일한 데이터 유형의 일련의 값을 저장하지만 JavaScript에서는 다양한 유형의 값을 배열에 저장할 수 있지만 일반적으로 필요하지 않습니다.


1.배열 생성

let daysOfWeek = new Array();
let daysOfWeek = new Array(7);
let daysOfWeek = new Array('1', '2', '3', '4', '5', '6', '7');

2.요소 추가

// 初始化nums数组
let nums = [0,1,2,3,4,5,6];
// 指定位置添加
nums[nums.length] = 7;
// 使用push(),把元素添加到数组末尾
nums.push(8);// 0...8
nums.push(9, 10);// 0...10
// 使用unshift,把元素添加到数组首位
nums.unshift(-1);// -1...10
nums.unshift(-3,-2);// -3...10

3.요소 삭제

// pop(),删除最后一个
nums.pop();//-3...9
// shift(),删除第一个
nums.shift();//-2...9

4.모든 요소 위치 삭제 또는 추가

// splice()方法
nums.splice(2, 3);// 删除 index=2 开始的后的3个数 -2,-1,3...9
nums.splice(2, 0, 0, 1, 2);// 从index=2开始插入0,1,2  -2...9

5.javascript 배열 메서드 참조

concat()  // 连接2个或多个数组,并返回结果
every()  // 对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true
filter()  // 对数组中的每一项运行给定函数,返回该函数能返回true的项作为新数组
forEach()  // 对数组中的每一项运行给定函数,没有返回值
join()  // 按传入的字符连接成一个字符串
indexOf()  // 从前往后遍历,返回第一个与传入参数相等的索引值,没找到返回-1
lastIndexOf()  // 从后往前遍历,返回第一个与传入参数相等的索引值
map()  // 对数组中的每一项运行给定函数,返回每次函数调用的结果组成新的数组
reverse()  // 颠倒数组中元素的顺序
slice()  // 传入索引值,将数组对应索引值范围内的元素作为新数组返回  
some()  // 对数组中的每一项运行给定函数,如果某一项返回true,则返回true
sort()  // 按照字母顺序排序,支持传入指定排序方法的函数作为参数
toString()  // 将数组作为字符串返回
valueOf()  // 和toString类似,将数组作为字符串返回

6.ES6 배열 새 메서드

@@iterator  // 返回一个包含数组键值对的迭代器对象,可通过同步调用得到数组元素的键值对
copyWithin()  // 复制数组中一系列元素,到该数组指定的起始位置
entries()  // 返回包含数组所有键值对的@@iterator
includes()  // 数组中存在某个元素则返回true,否则返回false(es7新增)
find()  // 根据回调函数给定的条件从数组中查找元素,如果找到则返回该元素
findIndex()  // 根据回调函数给定的条件从数组中查找元素,如果能找到就返回该元素在数组中的索引
fill()  // 用传入参数填充数组
from()  // 根据已有数组创建一个新数组
keys()  // 返回包含数组所有索引的@@iterator
of()  // 根据传入的参数创建一个新数组
values()  // 返回包含数组中所有值的@@iterator

7.배열의 장점과 단점

장점:

(1) 인덱스로 요소를 쿼리하는 것이 빠릅니다.
(2) 인덱스로 배열을 순회하는 것이 편리합니다.

단점:

(1) 배열 크기가 고정되면 확장할 수 없습니다

(2) 배열은 한 가지 유형의 데이터만 저장할 수 있습니다
(3) 다른 요소를 이동해야 하기 때문에 추가 및 삭제 작업이 느립니다.

적용 가능한 시나리오:

빈번한 쿼리, 작은 저장 공간 요구사항, 드물게 추가 및 삭제되는 경우.


위 내용은 JavaScript 데이터 구조 배열과 관련된 작업 소개(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제