문자열로 (I) 배열
⑴ 문자열 (도착) 다음 도착 쉼표로 구분 된 문자열로 각 소자
고정 루틴 : 사진의 배열 : 배열이 수정되었는지 여부를 식별하는 데 사용
⑵ arr.join ( "커넥터") 다음 도착 문자열로 각 요소 맞춤 커넥터로 구분
배분하고 말로 // 문자
, VAR의 문자의 = "H", "E", "L", "L", "O"]
CONSOLE.LOG (chars.join를 ( "")); // 헬로
⑶ 고정 루틴
① 문자 단어를 형성 : chars.join를 ( "") -> 원활한
확장 : 배열을 분석하는 것은 하늘의 배열입니다 : arr.join ( "") == ""
( "") words.join 다음 단어 문장을 ②
페이지 콘텐츠 요소로 배열 ③ :
"<레이블을 시작>"+
arr.join ( "</ 끝 태그> <태그 개시>")
+ "</ 종료 태그>"
(II) 바느질을 선택
직접 원래 배열을 수정하고, 새로운 배열을 반환하지 않고!
⑴ 접합
CONCAT () 접합 두 개 이상의 배열, 결과를 반환
VAR newArr arr1.concat = (값 1, 값 2, arr2, 값 3, ...)
값 1, 값 2는 새로운 배열을 반환 각 요소 arr2 다음 값 arr1 3 요소에 접합되고
여기서 편곡 요소가 먼저 깨진 후 봉합한다
arr1 = VAR의 [90, 91];
var에 arr2는 = [80, 81]이다
VAR ARR3 = [70,71,72,73]
VAR = arr4의 arr1.concat (50, 60, arr2가있다 ARR3)
콘솔 .LOG (arr1) // 90,91,92 종래 배열 값 변경
CONSOLE.LOG (arr4); // 90,91,92,50,60,80,81,70,71,72,73
선택 ⑵
슬라이스 ()는 종래의 어레이 부분 배열을 반환
VAR = subArr의 arr.slice (시작, 앤디 + 1)
새로운 배열의 모든 요소가 반환 endi 완료 starti 시작에 도착 위치를 선택 - 원본 배열은 변경되지
그는 강조했다 : 어떤 두 개의 매개 변수가 다음 기능의 대상이되는, 기능이 있습니다 :
머리의 끝을 포함하는
여기서, R1 = [10,20,30,40,50];
했다 arr2 arr1.slice = (1,4); // 20,30,40
했다 arr3 = arr1.slice (2); // 30,40,50
arr.slice arr4 = VAR (-4, -2), (20, 30) //
// 10,20,30,40,50 기존의 배열 요소 불변 (arr1에) CONSOLE.LOG
속기를 선택 ⑶
끝에 선택 ① 최대 : 두번째 파라미터를 생략 할 수있다
② 과거의 끝에서 선택한 요소 경우 : 가능한 상호 지수 :
arr.slice (arr.length -N, arr.length-m + 1);
로 축약 할 수 있습니다 arr.slice (-n, -m + 1);
③ 복사 배열 :
arr.slice (0 arr.length);
) (arr.slice;로 축약 할 수있다
(ⅲ)의 배열을 변경
삭제 ⑴
스플 라이스 직접 원의 배열을 변경
arr.splice(starti,n);
删除arr中starti位置开始的n个元素不考虑含头不含尾
其实:var deletes = arr.splice(starti,n);
返回值deletes保存了被删除的元素组成的临时数组
var arr1 = [10,20,30,40,50];
var arr2 = arr.splice(2,1);
//var arr2 = arr1.splice(2,2,21,22,23);
//var arr2 = arr1.splice(2,2,[91,92,93]);
console.log(arr1);
conlole.log(arr2);
⑵插入
arr.splice(starti,0,值1,值2,...)
在arr中starti位置,插入新值1,值2,...原starti位置的值及其之后的值被向后顺移
⑶替换
其实就是删除旧的,插入新的
arr.splice(starti,n,值1,值2,...)
先删除arr中starti位置的n个值,再在starti位置插入新值
强调:删除的元素个数和插入的新元素个数不必一致。
㈣颠倒数组
reverse() 颠倒数组中元素的顺序
arr.reverse()
var arr1 = [10,20,30,40,50];
arr1.reverse();
console.log(arr1);
强调:仅负责原样颠倒数组,不负责排序
㈤排序
将元素按从小到大的顺序重新排列
⑴排序API
arr.sort():默认将所有元素转为字符串再排列
问题:只能排列字符串类型的元素
解决:使用自定义比较器函数
⑵排序算法
(手写)冒泡 快速 插入排序