JS 数组 (JS数据结构)
文章很短, 请耐性看完, 代码是最好的解释!
/*****************************************************
* @author chensachp@163.com
* ( -2021/10/02- )
******************************************************/
/* 01. 首尾 添加 */
let a = [ 1,2,3,4,5,6,7 ]
let b = [ 1,2,3,4,5,6,7 ]
let c = [ 1,2,3,4,5,6,7 ]
let d = [ 1,2,3,4,5,6,7 ]
// 添加数组元素到末尾.
// 01. arr[arr.length] = 要添加到数组末尾的数 ( -把值赋给数组上最后一个空位- )
a[a.length]=8;
console.log( a )//=>[ 1, 2, 3, 4, 5, 6, 7, 8 ]
// 02. push()
b .push( 8 )
console.log( b )//=>[ 1, 2, 3, 4, 5, 6, 7, 8 ]
// 添加数组元素到首位
// 01. 腾出数组中第一个元素的位置, 把数组整个往右移动
for ( let i= c.length; i>=0; i--){
c[i] = c[i-1]
}
c[0] = 0
console.log( c )//=>[ 0, 1, 2, 3, 4, 5, 6, 7 ]
// 02. unshift() 得到的是首位添加数组元素之后的数组长度
// console.log( d.unshift(-1, 0) )//=>9
d. unshift(-1, 0)
console.log( d )//=>[ -1, 0, 1, 2, 3, 4, 5, 6, 7 ]
/* 02. 首尾 删除 */
let A = [ 1,2,3,4,5,6,7 ]
let B = [ 1,2,3,4,5,6,7 ]
let C = [ 1,2,3,4,5,6,7 ]
let D = [ 1,2,3,4,5,6,7 ]
// 删除首位元素
// 01. 整体左移, 最后一位变成undefined, 数组长度没有变化
for (let i=0; i<A.length; i++){
A[i] = A[i+1]
}
console.log( A )//=>[ 2, 3, 4, 5, 6, 7, undefined ]
// 02. shift() 确实删除首位元素
B.shift()
console.log( B )//=>[ 2, 3, 4, 5, 6, 7 ]
// 删除末尾元素
// 01. pop()
C. pop()
console.log( C )//=>[ 1, 2, 3, 4, 5, 6 ]
/* 03. 随意删除添加 splice() */
// splice( index, len, [item] ), 三个参数 > 下标, 长度, 替换/插入的元素
// 下面一个数组, 连续演示三种作用,
let arr = [ 'chp', 'c', 'h', 'p' ]
arr. splice( 0, 1)// 删除 从下标0开始删除1个元素
console.log( arr )//=>[ 'c', 'h', 'p' ]
arr. splice( 0,0, 'CHP', 'CHP' )// 插入 基于删除的结果[ 'c', 'h', 'p' ], 在下标0处插入2个元素
console.log( arr )//=>[ 'CHP', 'CHP', 'c', 'h', 'p' ]
arr. splice( 0, 2, 'chp')// 替换 基于插入的结果[ 'CHP', 'CHP', 'c', 'h', 'p' ], 从下标0开始替换2个元素
console.log( arr )//=>[ 'chp', 'c', 'h', 'p' ]