>  기사  >  웹 프론트엔드  >  자바스크립트 배열에 일반적으로 사용되는 API 요약

자바스크립트 배열에 일반적으로 사용되는 API 요약

不言
不言원래의
2018-07-20 11:46:161523검색

이 글은 JavaScript 배열에서 일반적으로 사용되는 API를 요약하여 소개합니다. 도움이 필요한 친구들이 참고할 수 있습니다.

배열용 일반 API 소개

split(): 문자열을 배열로 분할(문자열에 대해 작동) split():拆分字符串变成数组(对字符串操作)
join() :合并数组变成字符串(对数组操作)
concat():连接两数组
splice(begin,deleteCount,insert):拼接
splic(begin,end):截取[begin,end)
sort(callball(value1,value2)):排序
resever():反序
filter(callback(currentValue,index)):筛选
map(callback(currentValue,index)):遍历,有返回值,和forEach类似
forEach(callback(currentValue,index)):遍历,没有返回值
reduce(callback(array,currentValue,index)[,array]):累计处理
arguments:在函数内部使用,将函数的参数变成伪数组(不能用数组的 api)

例子

sort排序:如果value1 < value2返回-1,升序排列;返回1,降序排列

var arr = [1,5,4,3,2,6,7]
arr.sort((value1,value2) => {
    if(value1 < value2){
        return -1    //升序
    }else if(value1 > value2){
        return 1    //降序
    }else{
        return 0
    }
})<h3>
<code>filter</code>筛选数组,接受一个回调函数,回调函数的参数<code>value</code>、<code>index</code>(可选)、<code>array</code>(可选)</h3>
<pre class="brush:php;toolbar:false">let arr = [1,2,3,4,5,6,7,8,9]
arr.filter((value,index) =>{
  console.log(index)
  return value > 5    //筛选条件
})
let fruits = ['apple', 'banana', 'grapes', 'mango', 'orange'];
function find(element){
    return fruits.filter((e)=>{
        return e.indexOf(element) >= -1    //indexOf查到元素,找到返回元素的索引
    })
}
find('ap') //['apple','grapes']

mapforEach之间的区别是:map有返回值,forEach没有返回值;要forEach能返回值出来,在它内部定义一个变量存储遍历的值就可以了。

var a = [1,2,3,4]
a.map(e => e*2)    //[1,4,6,8]
a.forEach(e => e*2)    //undefined, return 也不会出来

reduce接受两个参数,回调函数和回调函数的第一个参数(可选);回调函数接受四个参数:1、回调函数的返回值(处理结果)或者reduce的第二个参数;2、正在处理的元素;3、正在处理元素的索引;4、调用reduce的数组。

如果reduce接收第二个参数,那么回调函数的第一个参数就是它(如去重,运行逻辑是把待处理数组的每一项处理后在一个个push进去,是加的过程);如果没有第二个参数,那么回调函数的第一个参数就是待处理数组的第一项(如摧毁数组,运行逻辑是把待处理数组直接拿过来集中处理,是减的过程)。

//去重:把待处理数组的每一项处理后在一个个`push`进去,是加的过程
var a = [1,2,3,2,4,5,3,1]
a.sort().reduce((arr,currentValue) => {
  if(arr.length === 0 || arr[arr.length-1] !== currentValue){
    arr.push(currentValue)
  }
  return arr
},[])    //[1,2,3,4,5]

//摧毁数组:把待处理数组直接拿过来集中处理,是减的过程
function destroyer(arr) {
    return [].slice.call(arguments).reduce((current,next) =>{
        return current.filter((e) => {
            return e !== next
        })
    })
}
destroyer([1, 2, 3, 1, 2, 3], 2, 3);    //[1,1]

argumentsjoin(): 배열을 배열로 병합 문자열(배열 작업)

concat(): 두 배열 연결

splice(begin,deleteCount,insert): Splice
splic(begin,end): <code>[begin,end)

sort(callball(value1,value2)) 차단: sort

resever(): 역순 filter(callback(currentValue,index)): 필터 map(callback(currentValue,index)): 트래버스, 반환 값 및 forEach
forEach(callback(currentValue,index))와 유사: 순회, 반환 값 없음

reduce(callback(array,currentValue,index)[,array]): 누적 처리

sort 정렬 : value1 < value2

-1를 반환하면 오름차순으로 정렬되고 1을 반환하고 내림차순으로 정렬됩니다.
function array(arr){
    console.log(arr)    //[1,2,3,4,5],注意是一个伪数组,不能用数组的方法
}
array(1,2,3,4,5)

var args = Array.prototype.slice.call(arguments);
var args = [].slice.call(arguments);

filter 필터 배열, 콜백 함수 허용, 콜백 함수의 매개변수는 value, index(선택 사항), array입니다. (선택 사항)🎜rrreeerrreee

mapforEach의 차이점은 다음과 같습니다. map에는 forEach라는 반환 값이 있습니다. >에는 반환 값이 없습니다. forEach는 값을 반환할 수 있으며, 순회된 값을 저장하기 위해 그 안에 변수를 정의하기만 하면 됩니다. 🎜rrreee

reduce는 콜백 함수와 콜백 함수의 첫 번째 매개변수(선택 사항)라는 두 개의 매개변수를 허용합니다. 콜백 함수는 4개의 매개변수를 허용합니다. 1. 콜백 함수의 반환 값(처리) result ) 또는 reduce의 두 번째 매개변수 2. 처리 중인 요소 3. 처리 중인 요소의 인덱스 4. reduce를 호출하는 배열. 🎜🎜reduce가 두 번째 매개변수를 수신하면 콜백 함수의 첫 번째 매개변수가 해당 매개변수입니다(예: 중복 제거, 실행되는 로직은 처리할 배열의 각 항목을 하나씩 처리하는 것입니다) push가 들어가는데, 이는 추가하는 과정입니다.) 두 번째 매개변수가 없으면 콜백 함수의 첫 번째 매개변수는 처리할 배열의 첫 번째 항목입니다(예: 배열 파괴). , 실행 로직은 처리할 배열을 직접 넣어서 중앙에서 처리하는 것이 축소 과정입니다. 🎜rrreee

인수 배열은 아니지만 실제 배열로 변환할 수 있습니다. 다음은 두 가지 방법입니다.🎜rrreee🎜관련 권장 사항: 🎜🎜🎜🎜JS에서 문자열 전체 배열 알고리즘 분석🎜🎜🎜🎜🎜자바스크립트의 이벤트 흐름 내용에 대한 간략한 분석🎜🎜🎜

위 내용은 자바스크립트 배열에 일반적으로 사용되는 API 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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