>웹 프론트엔드 >JS 튜토리얼 >배열 연산은 JS에서 일반적으로 사용됩니다.

배열 연산은 JS에서 일반적으로 사용됩니다.

php中世界最好的语言
php中世界最好的语言원래의
2018-05-24 11:15:031172검색
원래 배열을 변경하는 방법:
  1. push: 배열 끝에 요소를 추가하고 새 길이를 반환합니다.

  2. pop: 마지막 배열을 제거하고 삭제된 요소를 반환합니다.

  3. unshift: 추가 배열의 시작 부분에 요소를 추가하고 새 길이를 반환합니다

  4. shift: 첫 번째 요소를 삭제하고 삭제된 요소를 반환합니다. 비어 있으면 정의되지 않습니다

  5. reverse: 배열 순서를 반대로 합니다

  6. sort : array

  7. 정렬

    splice: 배열 요소 삭제, 추가, 교체, 삭제된 배열 반환, 삭제가 없으면 반환 안 함

은 원래 배열 작업 방법을 변경하지 않습니다.
  1. concat: 연결 다중 배열, 새 배열 반환

  2. join: 매개변수를 구분 기호로 사용하여 배열의 모든 요소를 ​​하나의 문자로 묶습니다.

  3. slice: 선택한 요소를 반환합니다.

  4. map(es6): 배열이 새 배열에 매핑됩니다

  5. filter(es6): 배열 필터링, 메서드 판단을 통과한 후 생성된 모든 새 배열을 반환합니다(참이라고 판단되는 경우)

  6. forEach: 배열 순회, no return value

  7. every(es6) : 배열의 각 항목에 대해 주어진 함수를 실행하고, 각 항목이 true이면 true를 반환하고, 그렇지 않으면 false를 반환

  8. some(es6): 주어진 함수를 실행합니다. 이때, 나머지 요소는 모두 false이면 false를 반환합니다.

  9. find(es6): 찾기 테스트 메서드의 조건을 충족하는 배열의 첫 번째 요소(함수) 요소 및 요소를 반환

  10. reduce(es6): 메서드는 함수를 누산기로 수신하고 배열의 각 값 (왼쪽에서 오른쪽으로) 감소하기 시작하여 최종적으로 값으로 계산됩니다.

  11. indexOf: 메소드는 주어진 요소가 배열에서 발견될 수 있는 첫 번째 index를 반환하거나, 존재하지 않는 경우 -1을 반환합니다.

  12. includes(es7): 이 메서드는 배열에 지정된 값이 포함되어 있는지 확인하는 데 사용됩니다. 상황에 따라 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.


사용

// 连接数组
//concat方法
var array1 = ['a', 'b', 'c'];
var array2 = ['d', 'e', 'f'];
array1.concat(array2); // ["a", "b", "c", "d", "e", "f"]
// 展开运算符方法
[...array1, ...array2] // ["a", "b", "c", "d", "e", "f"]



//循环
var arr = ['a', 'b', 'c'];
arr.forEach(function(element, index) {
  console.log(element + ',' + index);
});
// a , 0
// b , 1
// c , 2

// 箭头函数写法
arr.forEach((element,index) => console.log(element,index));



//循环映射(map)
var numbers = [1, 5, 10, 15];
let doubles = numbers.map((item, index) => item * 2);
// [2, 10, 20, 30]

// 数组是否元素包含(includes)
let a = [1, 2, 3];
a.includes(2);
// true
a.includes(4);
// false



//查找元素(find)
//查找数组中大于等于15的元素,并且返回第一个元素
var ret = [12, 5, 8, 130, 44].find(function(element) {
    return element >= 15; // 方法需要有返回值,判断得出true或者false,返回为true的元素
  }
);
// 130



// 过滤数组(filter)
// 过滤数组中大于等于10的元素并且返回新数组
var filtered = [12, 5, 8, 130, 44].filter(function(value) {
    return value >= 10; // 方法需要有返回值,判断得出true或者false,返回为true的元素
  }
);
// [12, 130, 44]



// 循环判断(every) 为每个元素都执行
var passed = [12, 5, 8, 130, 44].every(function (element, index, array) {
  return (element >= 10);
});
// false


// 循环判断(some) 遇到返回值为true的就停止执行
var passed = [12, 5, 8, 130, 44].some(function (element, index, array) {
  return (element >= 10);
});
// true



// 数组截取(slice) 不改变原数组
var animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
animals.slice(2)  // ["camel", "duck", "elephant"]  返回数组从下标2开始直到结尾的一个新数组
animals.slice(2, 4)  //["camel", "duck"]  返回数组从下标2到4之间到一个新数组



// 数组减接(splice)  改变原数组
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
myFish.splice(2, 0, 'drum'); // ["angel", "clown", "drum", "mandarin", "sturgeon"]    0为删减个数,在索引为2的位置不删减并且插入'drum'
myFish.splice(2, 1); //  ["angel", "clown", "mandarin", "sturgeon"]       从索引为2的位置删除1项(也就是'drum'这一项)



// 使用 lastIndexOf
var array = [2, 5, 9, 2];
var index = array.lastIndexOf(2); // index === 3
var index = array.lastIndexOf(8); // index === -1



// 数组转字符串(join)
let a = ['Wind', 'Rain', 'Fire'];
a.join() //默认为逗号分隔
// 'Wind,Rain,Fire'
a.join("-") // 用 - 分隔
// 'Wind-Rain-Fire'



// es6 数组去重
let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3];
let set = new Set(array);
let newarr = Array.from(set);
// newarr === [1, 2, 3, 4, 5]

이 기사의 사례를 읽은 후 방법을 마스터했다고 믿습니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 자료:

프런트 엔드에서 쿠키를 설정하는 방법

프런트 엔드에서 이벤트 전파를 방지하는 방법


위 내용은 배열 연산은 JS에서 일반적으로 사용됩니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.