ECMAScript5는 일련의 새로운 API 인터페이스를 제공합니다. 이러한 인터페이스의 대부분은 IE9, Chrome 및 FirFor 모두에서 지원됩니다. 또한 모든 브라우저에서 지원되지 않는 몇 가지 API도 있습니다. 지원되는 대부분의 API만 소개합니다. 새로운 API를 사용하면 원래 JavaScript 스타일을 유지하면서 매우 안정적인 클래스를 디자인할 수 있습니다.
ECMAScript5 표준은 2009년 12월 3일에 출시되었습니다. 이는 기존 배열 배열 작업을 개선하는 몇 가지 새로운 방법을 제공합니다. (호환성 참고)
ES5에는 총 9가지 배열 방법이 있습니다: http://kangax.github.io/compat-table/es5/
Array.prototype.indexOf Array.prototype.lastIndexOf Array.prototype.every Array.prototype.some Array.prototype.forEach Array.prototype.map Array.prototype.filter Array.prototype.reduce Array.prototype.reduceRight
아래에는 7가지 방법이 나열되어 있습니다. 처음 5가지 방법은 매우 일반적이며 많은 개발자가 사용합니다.
1.indexOf()
indexOf() 메서드는 배열에서 발견된 첫 번째 요소의 위치를 반환하거나, 존재하지 않는 경우 -1을 반환합니다.
var arr = ['apple', 'orange', 'pear'], found = false; // 未使用 for (var i = 0, l = arr.length; i < l; i++) { if (arr[i] === 'orange') { found = true; } } console.log("found:", found); // ==> found: true // 使用后 console.log("found:", arr.indexOf("orange") != -1); // ==> found: true
2. 필터()
filter() 메소드는 필터 조건과 일치하는 새 배열을 생성합니다.
filter()를 사용하지 않는 경우:
var arr=[{"name":"apple", "count": 2},{"name":"orange", "count": 5},{"name":"pear", "count": 3},{"name":"orange", "count": 16},] var newArr = []; for (var i = 0; i < arr.length; i++) { if (arr[i].name === "orange") { newArr.push(arr[i]); } } console.log("Filter results:", newArr);
사용된 필터():
var newArr = arr.filter(function(item) { return item.name === "orange"; }); console.log("Filter results:", newArr);
3.forEach()
forEach는 각 요소에 해당하는 메서드를 실행하며 for 루프를 대체하는 데 사용됩니다.
var arr = [1, 2, 3, 4, 5, 6, 7, 8]; // 使用for循环 for (var i = 0, l = arr.length; i < l; i++) { console.log(arr[i]); } // 使用forEach循环 arr.forEach(function(item, index) { console.log(item); });
4. 지도()
map()은 배열의 각 요소에 대해 특정 작업(매핑)을 수행한 후 새 배열을 반환합니다.
var oldArr = [{first_name: "Colin",last_name: "Toh"}, {first_name: "Addy",last_name: "Osmani"}, {first_name: "Yehuda",last_name: "Katz"}]; function getNewArr() { var newArr = []; for (var i = 0; i < oldArr.length; i++) { var item = oldArr[i]; item.full_name = [item.first_name, item.last_name].join(" "); newArr[i] = item; } return newArr; } var personName = getNewArr(); personName.forEach(function(item, index) { console.log(item); }) /****输出结果: Object {first_name: "Colin", last_name: "Toh", full_name: "Colin Toh"} Object {first_name: "Addy", last_name: "Osmani", full_name: "Addy Osmani"} Object {first_name: "Yehuda", last_name: "Katz", full_name: "Yehuda Katz"} ****/
map() 메소드 사용:
function getNewArr() { return oldArr.map(function(item, index) { item.full_name = [item.first_name, item.last_name].join(" "); return item; }) } var personName = getNewArr(); personName.forEach(function(item, index) { console.log(item); }) /****输出结果: Object {first_name: "Colin", last_name: "Toh", full_name: "Colin Toh"} Object {first_name: "Addy", last_name: "Osmani", full_name: "Addy Osmani"} Object {first_name: "Yehuda", last_name: "Katz", full_name: "Yehuda Katz"} ****/
5. 축소()
reduce()는 배열의 각 값(왼쪽에서 오른쪽으로)을 값으로 줄이는 누산기 기능을 구현할 수 있습니다. 이는 다음과 같이 이해될 수도 있습니다: 배열의 이전 항목과 후속 항목이 일종의 작업을 수행하고 최종 값을 누적하도록 합니다.
시나리오: 배열에 고유한 단어가 몇 개 있는지 세어보세요.
var arr = ["apple", "orange", "apple", "orange", "pear", "orange"]; function getWordCnt() { var obj = {}; for (var i = 0; i < arr.length; i++) { var item = arr[i]; obj[item] = (obj[item] + 1) || 1; } return obj; } console.log(getWordCnt()); // 输出结果: // Object {apple: 2, orange: 3, pear: 1}
reduce() 사용 후:
var arr = ["apple", "orange", "apple", "orange", "pear", "orange"]; function getWordCnt() { return arr.reduce(function(prev, next) { prev[next] = (prev[next] + 1) || 1; return prev; }, {}); } console.log(getWordCnt()); // 输出结果: // Object {apple: 2, orange: 3, pear: 1}
6, array.some(callback[, thisObject]); 콜백: 특정 요소를 테스트하는 데 사용되는 함수입니다.
thisObject: 실행 콜백으로 사용되는 객체입니다.
배열의 특정 항목이 조건을 충족하는지 감지합니다.
var scores = [45, 60, 70, 65, 95, 85]; var current = 60; function passed(score) { return score > current; } console.log(scores.some(passed)); // == > true
7. array.every(callback[, thisObject]) callback : 함수는 각 요소를 테스트하는 데 사용됩니다. thisObject: 실행 콜백으로 사용되는 객체입니다.
배열의 각 항목이 조건을 충족하는지 확인하세요.
var scores = [45, 60, 70, 65, 95, 85]; var current = 60; function passed(score) { return score > current; } console.log(scores.every(passed)); // == > false
위의 예에서는 ECMAScript5의 새로운 Array 메서드를 소개합니다. 도움이 되기를 바랍니다.

JavaScript 코어 데이터 유형은 브라우저 및 Node.js에서 일관되지만 추가 유형과 다르게 처리됩니다. 1) 글로벌 객체는 브라우저의 창이고 node.js의 글로벌입니다. 2) 이진 데이터를 처리하는 데 사용되는 Node.js의 고유 버퍼 객체. 3) 성능 및 시간 처리에는 차이가 있으며 환경에 따라 코드를 조정해야합니다.

javaScriptUSTWOTYPESOFSOFCOMMENTS : 단일 라인 (//) 및 multi-line (//)

Python과 JavaScript의 주요 차이점은 유형 시스템 및 응용 프로그램 시나리오입니다. 1. Python은 과학 컴퓨팅 및 데이터 분석에 적합한 동적 유형을 사용합니다. 2. JavaScript는 약한 유형을 채택하며 프론트 엔드 및 풀 스택 개발에 널리 사용됩니다. 두 사람은 비동기 프로그래밍 및 성능 최적화에서 고유 한 장점을 가지고 있으며 선택할 때 프로젝트 요구 사항에 따라 결정해야합니다.

Python 또는 JavaScript를 선택할지 여부는 프로젝트 유형에 따라 다릅니다. 1) 데이터 과학 및 자동화 작업을 위해 Python을 선택하십시오. 2) 프론트 엔드 및 풀 스택 개발을 위해 JavaScript를 선택하십시오. Python은 데이터 처리 및 자동화 분야에서 강력한 라이브러리에 선호되는 반면 JavaScript는 웹 상호 작용 및 전체 스택 개발의 장점에 없어서는 안될 필수입니다.

파이썬과 자바 스크립트는 각각 고유 한 장점이 있으며 선택은 프로젝트 요구와 개인 선호도에 따라 다릅니다. 1. Python은 간결한 구문으로 데이터 과학 및 백엔드 개발에 적합하지만 실행 속도가 느립니다. 2. JavaScript는 프론트 엔드 개발의 모든 곳에 있으며 강력한 비동기 프로그래밍 기능을 가지고 있습니다. node.js는 풀 스택 개발에 적합하지만 구문은 복잡하고 오류가 발생할 수 있습니다.

javaScriptisNotBuiltoncorc; it'SangretedLanguageThatrunsonOngineStenWrittenInc .1) javaScriptWasDesignEdasAlightweight, 해석 hanguageforwebbrowsers.2) Endinesevolvedfromsimpleplemporectreterstoccilpilers, 전기적으로 개선된다.

JavaScript는 프론트 엔드 및 백엔드 개발에 사용할 수 있습니다. 프론트 엔드는 DOM 작업을 통해 사용자 경험을 향상시키고 백엔드는 Node.js를 통해 서버 작업을 처리합니다. 1. 프론트 엔드 예 : 웹 페이지 텍스트의 내용을 변경하십시오. 2. 백엔드 예제 : node.js 서버를 만듭니다.

Python 또는 JavaScript는 경력 개발, 학습 곡선 및 생태계를 기반으로해야합니다. 1) 경력 개발 : Python은 데이터 과학 및 백엔드 개발에 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 적합합니다. 2) 학습 곡선 : Python 구문은 간결하며 초보자에게 적합합니다. JavaScript Syntax는 유연합니다. 3) 생태계 : Python에는 풍부한 과학 컴퓨팅 라이브러리가 있으며 JavaScript는 강력한 프론트 엔드 프레임 워크를 가지고 있습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

Dreamweaver Mac版
시각적 웹 개발 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

WebStorm Mac 버전
유용한 JavaScript 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.