JavaScript随手记 – 数组

  • 对于一个 3 项的数组,可以通过直接对不存在的索引赋值来扩充数组,如果中间有跨越,则跨越部分为空 empty。如果使用 for 循环遍历数组,空值会被跳过。
     1var l = ['a'199.0];
    2console.log(l)
    3// (3) ["a", 1, 99]
    4l[6] = 'six'
    5console.log(l)
    6// (7) ["a", 1, 99, empty × 3, "six"]
    7for (let i in l) {
    8  console.log(i);
    9}
    10// 0
    11// 1
    12// 2
    13// 6
    14for (let i in l) {
    15  console.log(l[i]);
    16}
    17// a
    18// 1
    19// 99
    20// six
  • 数组的 length 是可写的,这也就意味着可以通过修改它来达到删除末尾元素的效果
    1var fruits = ['apple''pear''peach'];
    2fruits.length = 2;
    3console.log(fruits[2]); // undefined - 相当于删除了数组中的第三项
  • 追加和删除
    • push 末尾增加
    • pop 末尾删除
    • upshift 头部增加
    • shift 头部移除
  • 在一个位置重复删除元素
    1var removedItems = vegetables.splice(pos, n);
    2// this is how to remove items, n defines the number of items to be removed,
    3// from that position(pos) onward to the end of array.
  • 复制数组
    1var shallowCopy = fruits.slice(); // this is how to make a copy

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注