JS配列の浅い分析


JS配列
配列は特殊なオブジェクトです
配列の作成
		let arr = [1,2,3,4]
        let arr = new Array(1,2,3)
        
        //      
        let str = '1,2,3,4';
        str.split(',')
        
        str.split('');
        //  Array.from        1    0,1,2          2    length   
        Array.from{
     0:'a',1:'b',2:'c',length:3}

擬似配列のプロトタイプチェーンに配列のプロトタイプがない
//                  push    
let divList = document.querySelectorAll('div')

連結配列(contact)
2つの配列を1つの新しい配列に統合する元の不変
let arr = [1,2,3]
let arr2 = [4,5,6]
arr.concat(arr2)
//   :  [1, 2, 3, 4, 5, 6]

配列の切り取り(slice)
配列を切り取って新しい配列の元の配列を取得します.
let arr3 =  [1, 2, 3, 4, 5, 6]
arr3.slice(2)
//   :  [3, 4, 5, 6]
let arr4 = arr3.slice(0)
//       

削除
次の削除方法に問題があります.
let arr =  [1, 2, 3, 4, 5, 6]
delete arr[0]
arr
//   : [ , 2, 3, 4, 5, 6]      
let arr =  [1, 2, 3, 4, 5, 6]
arr.length = 5
arr
//    [1, 2, 3, 4, 5]

削除方法:
shiftヘッダ要素の削除
let arr =  [1, 2, 3, 4, 5]
arr.shift(1)
//   : [2, 3, 4, 5]

Pop末尾要素の削除
let arr =  [1, 2, 3, 4, 5]
arr.pop(1)
//   : [1,2, 3, 4]

splice中間要素の削除
let arr =  [1, 2, 3, 4, 5, 6]
arr.splice(1,2) //          
//   : [1, 4, 5, 6]

arr.splice(1,2,22,33) //                 
//   : [1, 22, 33, 4, 5, 6]

調べる
//配列を巡る属性名と属性値
let arr =  [1, 2, 3, 4, 5, 6]
for(let i = 0; i< arr.length; i++){
console.log(`${i} : ${arr[i]}`)
}
//   :
// 0 : 1
// 1 : 2
// 2 : 3
// 3 : 4
// 4 : 5
// 5 : 6

foreach遍歴
let arr =  [1, 2, 3, 4, 5, 6]	
arr.forEach(function(xxx,yyy){
       //                      
    console.log(`${
       yyy} : ${
       xxx}`)
    })

forループで
1:breakとcontinueを使用してループをカスタマイズできます
2:forループはブロックレベルの役割ドメインです
そしてforeachは
1:端から端までしか歩けない
2:関数の役割ドメイン
個々のプロパティの表示
let arr =  [1, 2, 3, 4, 5, 6]
arr.indexOf(055)
//   : -1     1      

条件を使用した要素の表示
arr.find((x)=>x%2 ===0) //        
arr.findIndex((x)=>x%2 ===0) //           

増加
末尾にarr.pushを追加
let arr =  [1, 2, 3, 4, 5, 6]
arr.push(66,77,88)
arr
//   :[1, 2, 3, 4, 5, 6, 66, 77, 88]

ヘッダにarr.unshiftを追加
arr.unshift(22,55,66)
arr
//   :[22, 55, 66, 1, 2, 3, 4, 5, 6, 66, 77, 88]

間にarr.spliceを追加
arr.splice(2,0,'x','y')
arr
//   : [22, 55, "x", "y", 66, 1, 2, 3, 4, 5, 6, 66, 77, 88]

反転配列arr.reverse()
let arr =  [1, 2, 3, 4, 5, 6]
arr.reverse()
//   :  [6, 5, 4, 3, 2, 1]

文字列の反転
var a  = 'abcde'
a.split('').reverse().join('')
//   :  "edcba"

ソートsort()
let arr =  [1, 2, 3, 4, 5, 6]
//   
arr.sort(function (a, b) {
     
            if (a > b) {
     
                return 1
            } else if (a === b) {
     
                return 0
            } else {
     
                return -1
            }
        })
         //   
        arr.sort((a, b) =>{
     
            return a-b
        }) 
//      
arr.sort(function (a, b) {
     
            if (a > b) {
     
                return -1
            } else if (a === b) {
     
                return 0
            } else {
     
                return 1
            }
        })
        //   
         arr.sort((a, b) =>{
     
            return b-a
        }) 

はいれつへんかん
map
n変n
let arr =  [1, 2, 3, 4, 5, 6]
arr.map(item => item *item)
//    : [1, 4, 9, 16, 25, 36]

filter
n少なくなる
let arr =  [1, 2, 3, 4, 5, 6]
arr.filter(item => item %2 ===0 ? true : false) //     
//    :  [2, 4, 6]

reduce
n変1
	arr.reduce((sum, item) => {
     
            return sum + item
        }, 0) //    
//    : 21

//     
 arr.reduce((a1, a2) => {
     
            if (a2 % 2 === 1) {
     
                return a1
            } else {
     
                return a1.concat(a2)
            }
        }, [])
//    :[2, 4, 6] 

資料の出所:空腹な人の谷チェンの1峰
本文は弐弐のオリジナル文章で、著作権は本人と飢人谷の所有に帰して、転載は必ず出所を明記しなければならない.