JS 배열 다양한 방법

1. 배열 길이 속성

에서는 Array오브젝트의 어느 거기 length어레이의 길이를 확인하는 데 사용할 수있는 속성.

예를 들면 :

var arr = [10,20,30,40]; console.log(arr.length);// 4 


通常情况下,我们可以通过将length属性值设置为0,来让数组清空。

예를 들면 :

var arr = [10,20,30,40]; arr.length = 0; console.log(arr); // [] 数组被清空 

用length的增删改
增:直接选定,哪里没有增哪里
删:只能删后面不能删前面
改:选定哪个改哪个
查:选定哪个查哪个

2. 기타 중에서 어레이를 동작시키는 방법

首先来说下push()方法。通过这个方法,我们能够将一个或者多个元素添加到数组的末尾,并且返回数组的新长度。
// 创建一个数组 var arr1 = ['张三','李四'];
// 通过Push方法向数组中添加元素 arr1.push("王五");
// 检查数组内容 console.log(arr1); // [ '张三', '李四', '王五' ]
// 尝试添加多个内容 arr1.push("赵六","刘七");
// 打印数组元素 console.log(arr1);
// [ '张三', '李四', '王五', '赵六', '刘七' ]
// 创建一个新的数组 var arr2 = [1,2,3,4];
// 尝试将arr2添加到arr1 arr1.push(arr2);
// 打印arr1; console.log(arr1);
// [ '张三', '李四', '王五', '赵六', '刘七', [ 1, 2, 3, 4 ] ]
// 向arr1中再次添加数据并且查看push方法的返回值 console.log(arr1.push('hello,world')); // 7

pop()方法能够从数组中删除最后一个元素,并且返回该元素的值。此方法更改数组的长度。

var plants = ['broccoli', 'cauliflower', 'cabbage', 'kale', 'tomato'];
console.log(plants.pop());
// expected output: "tomato"
console.log(plants);
// expected output: Array ["broccoli", "cauliflower", "cabbage", "kale"]
plants.pop();
console.log(plants);
// expected output: Array ["broccoli", "cauliflower", "cabbage"]

위, 우리는 증명 pop배열을 삭제하는 마지막 요소 방법을,하지만의 사용 pop방법, 우리는 방법은주의 할 필요가 length있으며,이 건물의 마지막 요소의 위치를 결정하는 데 사용
하면 길이 속성 또는 길이 속성을 포함하지 않는 경우 숫자 값으로 변환 할 수 없습니다 다음 길이 속성은 0으로 설정하고, 반환이 정의되지 않은 것입니다.

동시에, 당신은 정의되지 않은 반환 하늘의 배열에 팝업 메서드를 호출합니다.

 

unshift()상기 방법은 상기 어레이의 하나 개 이상의 요소의 시작에 첨가하고, 배열의 새로운 길이를 반환 할 수있다.

var array1 = [1, 2, 3];

console.log(array1.unshift(4, 5)); // expected output: 5 console.log(array1); // expected output: Array [4, 5, 1, 2, 3]


shift()상기 방법은 어레이의 첫 번째 요소를 제거하고, 요소의 값을 반환한다. 이 방법은 어레이의 길이를 변경한다.

var array1 = [1, 2, 3];

var firstElement = array1.shift(); console.log(array1); // expected output: Array [2, 3] console.log(firstElement); // expected output: 1

0 (즉, 제 1 요소)의 요소 인덱스를 제거하는 방법을 전환하고, 인덱스 값 1 개을 뺀 다른 요소와 함께, 요소 제거 반환한다. 속성은 0의 길이 (길이 0) 인 경우, 정의가 반환된다.

상기 방법은 교대 배열에 한정되지 않고,이 메소드는 메소드 호출을 통해 오브젝트의 배열과 유사하거나 효과를 적용 할 수있다. 그러나 개체의 (연속 번호 속성의 시리즈의 마지막 0에서) 어떤 길이 속성, 메소드가 이해가되지 않을 수도 있습니다 호출합니다.

 

 toString ()는 직접 문자열로 배열 (쉼표로 구분 된) 스트링 어레이에 값 및 리턴

 

모든 배열 요소는 문자열에 포함될 수있다 () 메소드를 조인. 그 행동은 toString ()과 유사하지만, 당신은 또한 구분 기호를 지정할 수 있습니다
[ "바나나", "오렌지", "애플", "망고"] VAR 과일 =을,
document.getElementById를 ( "데모")는 innerHTML을 = fruits.join. ( "*");
바나나 오렌지 * * * 애플 망고

 

CONCAT () 메소드를 조합하여 새로운 배열을 생성하기 위해 기존의 배열 (접속) CONCAT ()를 기존의 배열을 변경하지 않는 방법. 항상 새로운 배열을 반환합니다.
CONCAT () 메소드는 배열 된 임의 수의 매개 변수를 사용할 수있다 : arr1의 VAR은 [ "세실은", "론"는 =,
VAR의 arr2가 = [ "리누스의", "토비아스 ''에밀의"]이다
VAR ARR3 = "로빈" "모건"]
VAR = myChildren의 arr1.concat (arr2는 ARR3이다); // 함께 연결 arr1, arr2 및 ARR3

CONCAT () 메소드는 파라미터 값으로 이용 될 수있다 : arr1 = "세실", "론"]의 VAR;
VAR myChildren arr1.concat = ([ "토비아스 ''에밀의", "리누스의"]);

 

arr.splice (m, N "") - 어떤 할당 비트 값을 삭제하기 위해 지정된 위치를 교체 배열의 값이 없었다;       

m은 지수 값을 나타낸다   

여러 (N)의 여분을 삽입 (0 삽입 나타냄)

""주제 값 치환 또는 복수로 삽입 될 수있다 

지정된 위치를 삭제, 교체, 삭제 된 데이터를 반환

 

arr.slice (m, N) - m은 제 N 채취한다은 값을 나타내는 경우, 상기 단부로부터 m;

 

소형 ~ 대형의 기본 특성에 따른 arr.sort (기능) (함수 (a, b) {AB 또는 BA를 반환}) 숫자 정렬로 변환 될 수있다;

 

같이 IndexOf (값, 시작);

어레이 또는 문자열 또는 소정 위치의 문자열을 반환

쿼리 및 데이터 인덱스를 돌려줍니다

시작은 선택 쿼리의 개시 위치, 개시가 부정적 일 때, 배열의 단부로부터 전방의 수이고; 상기 데이터 값을 조회 할 수있는 쿼리 값 만약 존재하지이 방법은 리턴 -1

lastIndexOf에서도 ()는 역 쿼리 및 인덱스 데이터를 반환

 

 

3.ES5 새로운 배열 방법

 배열을 통한 루프 

대해 forEach (콜백); 

대해 forEach 없음 리턴 값, 파라미터, 콜백 콜백 함수, 모든 항목이 어레이를 통과한다, 콜백 함수는 세 개의 매개 변수, 즉, 값, 인덱스 자체를 취

 

 지도 (콜백);

foreach는 동일 데이터 콜백 함수 복귀하면서지도로 리턴 새로운 배열을 형성하는 단계;

 

(콜백) 필터링;

콜백 함수는 필터에 의해 반환 된 데이터에 해당하는 부울 값을 반환하게 foreach로하면서, 새로운 배열을 형성하는   

 

 

arr.every (콜백)

判断数组中每一项是否都满足条件,只有所有项都满足条件,才会返回true 。   

 

arr.some(callback) 

判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。 

 

 

arr.reduce()
功能:从数组的第一项开始,逐个遍历到最后,迭代数组的所有项,然后构建一个最终返回的值。
参数:reduce()接收一个或两个参数:第一个是回调函数,表示在数组的每一项上调用的函数;第二个参数(可选的)作为归并的初始值,被回调函数第一次执行时的第一个参数接收。
reduce(callback,initial);callback默认有四个参数,分别为prev,now,index,self。
callback返回的任何值都会作为下一次执行的第一个参数。
如果initial参数被省略,那么第一次迭代发生在数组的第二项上,因此callback的第一个参数是数组的第一项,第二个参数就是数组的第二项。

 

arr.reduceRight()
功能:(与reduce类似)从数组的最后一项开始,向前逐个遍历到第一位,迭代数组的所有项,然后构建一个最终返回的值。
参数:同reduce。
demo:同reduce

             

 

추천

출처www.cnblogs.com/peihang/p/11442205.html