ES5 Array

4919 단어

forEach


1. 반복, 순환.forEach 방법의function 리셋은 3개의 매개 변수를 지원하고, 첫 번째는 훑어보는 그룹 내용입니다.두 번째는 대응하는 그룹 인덱스이고, 세 번째는 그룹 자체다.

var sum = 0;
[1, 2, 3, 4].forEach(function (item, index, array) {
    console.log(array[index] == item); // true
    sum += item;
});
console.log(sum); // 10

2. forEach는 필수적인 리셋 함수 파라미터를 받아들일 수 있을 뿐만 아니라 선택할 수 있는 상하문 파라미터도 받아들일 수 있다. (리셋 함수 안에 있는this 가리키는 바꿈)

var database = {
    users: [" ", " ", " "],
    sendEmail: function (user) {
        if (this.isValidUser(user)) {
            console.log(" ," + user);
        } else {
            console.log(" ," + user + ", ");
        }
    },
    isValidUser: function (user) {
        return /^ /.test(user);
    }
};
//  
database.users.forEach(  // database.users 
    database.sendEmail,    //  
    database               //  database this
);

3. forEach는 DOM 요소를 반복합니다.

var eleDivs = document.getElementsByTagName("div");
Array.prototype.forEach.call(eleDivs, function (div) {
    console.log(" div :" + (div.className || " "));
});

map


1. 맵맵맵은 원수 그룹이'맵'에 대응하는 새 그룹[]으로 표시됩니다.map() 기본 사용법은 forEach와 유사합니다

var data = [1, 2, 3, 4];
var arrayOfSquares = data.map(function (item) {
    return item * item;
});
console.log(arrayOfSquares); // 1, 4, 9, 16

2. 실제 사용할 때 우리는 맵 방법을 이용하여 대상 그룹의 특정 속성 값을 쉽게 얻을 수 있다

var users = [
    { name: " ", "email": "[email protected]" },
    { name: " ", "email": "[email protected]" },
    { name: " ", "email": "[email protected]" }
];
var emails = users.map(function (user) { return user.email; });
console.log(emails.join(", ")); // [email protected], [email protected], [email protected]

filter


1. 필터링, 필터링을 의미합니다.반환 수조의 하위 집합, 반환 함수는 논리적으로 반환 여부를 판단하는 데 사용되며,true를 반환하면 현재 요소를 반환 수조에 추가하고false는 추가하지 않습니다

var emailsZhang = users
    //  
    .map(function (user) { return user.email; })
    //  zhang 
    .filter(function (email) { return /^zhang/.test(email); });

console.log(emailsZhang.join(", ")); // [email protected]

some


특정 항목이 조건에 부합되는 것을 가리킨다

var scores = [5, 8, 3, 10];
var current = 7;

function higherThanCurrent(score) {
    return score > current;
}

if (scores.some(higherThanCurrent)) {
    console.log(" !");
}

every


모든 항목이 조건에 부합되어야 한다는 것을 가리킨다

if (scores.every(higherThanCurrent)) {
    console.log(" !");
} else {
    console.log(" , !");
}

indexOf


indexOf 방법은 문자열에string이 있습니다.indexOf(searchString,position)(한 위치부터 문자가 있는 위치를 찾습니다)(되돌아오는 것을 찾지 못했습니다-1) 그룹에서 사용하는 방법은 유사합니다

var data = [2, 5, 7, 3, 5];

console.log(data.indexOf(5, "x")); // 1 ("x" )
console.log(data.indexOf(5, "3")); // 4 ( 3 )

console.log(data.indexOf(4)); // -1 ( )
console.log(data.indexOf("5")); // -1 ( , 5 !== "5")

lastIndexOf


문자열의 끝에서부터 찾는 것이지 처음부터 찾는 것이 아니다.또 하나는 fromIndex의 기본값이 array라는 것이다.length - 0이 아니라 1.

var data = [2, 5, 7, 3, 5];

console.log(data.lastIndexOf(5)); // 4
console.log(data.lastIndexOf(5, 3)); // 1 ( , 3 )

console.log(data.lastIndexOf(4)); // -1 ( )

reduce

array.reduce(callback[,initialValue])

1.callback 함수는 4개의 매개 변수를 받아들인다: 이전 값, 현재 값, 색인 값과 그룹 자체.initialValue 매개 변수는 초기 값을 나타내는 옵션입니다.지정하면 처음에 사용했던previous 값으로 간주합니다.만약 부족하다면, 그룹의 첫 번째 요소를previous의 초기 값으로 사용하고,current는 뒤로 한 자리를 차지하며, initialValue 값이 있는 것보다 한 번 교체되지 않습니다.

var sum = [1, 2, 3, 4].reduce(function (previous, current, index, array) {
    return previous + current;
}, 1);
console.log(sum); // 11     

2.reduce가 있으면 우리는 2차원 그룹의 편평화화를 쉽게 실현할 수 있다

var matrix = [
    [1, 2],
    [3, 4],
    [5, 6]
];
//  
var flatten = matrix.reduce(function (previous, current) {
    return previous.concat(current);
});
console.log(flatten); // [1, 2, 3, 4, 5, 6]

reduceRight


실현상의 차이는 ReduceRight가 수조의 끝에서부터 이루어진다는 데 있다.

var flatten = matrix.reduce(function (previous, current) {
    return previous.concat(current);
});
console.log(flatten); // [1, 2, 3, 4, 5, 6]
//reduceRight  reduceRight 。
var data = [1, 2, 3, 4];
var specialDiff = data.reduceRight(function (previous, current, index) {
    if (index == 0) {
        return previous + current;
    }
    return previous - current;
});
console.log(specialDiff); // 0

원작 테스트 데모 - 컨트롤러 테스트 열기

좋은 웹페이지 즐겨찾기