2021-04-27

数组

稀疏数组
包含从0开始的不连续索引的数组。
可以用Array()构造函数或简单地指定数组的索引值大于当前的数组长度来创建稀疏数组。

let a1 = [, , ,];
let a2 = new Array(4);
console.log(1 in a1, 1 in a2);
a1[10] = 100;
a1[8] = undefined;
for (let a in a1) {
  console.log(a, a1[a]);
}

数组长度
每个数组有一个length属性,代表数组中元素的个数。
设置为一个小于当前长度的非负整数n时,当前数组中那些索引值大于或等于n的元素将从中删除。
设置为大于其当前的长度,会在数组尾部创建一系列空的区域。
可以用Object.defineProperty()让数组的length属性变成只读的。

数组方法
join( )
将数组中所有元素都转化为字符串并连接在一起,返回最后生成的字符串。
可以指定一个可选的字符串在生成的字符串中来分隔数组的各个元素。如果不指定分隔符,默认使用逗号。

let arr = [1, 2, 3, 4, 5];
  console.log(arr.join("-"), arr.join());

reverse( )
将数组中的元素颠倒顺序,返回逆序的数组。

let r_arr = arr.reverse();
  console.log(r_arr, arr);

sort( )
将数组中的元素排序并返回排序后的数组。
当不带参数调用sort()时,数组元素以字母表顺序排序(如有必要将临时转化为字符串进行比较)。
给sort()方法传递一个比较函数。该函数决定了它的两个参数在排好序的数组中的先后顺序。

let data = [22, 4, 111, 30];
let sdata = data.sort();
sdata = data.sort(function (a, b) {
    return a - b;
  });
  console.log(sdata);

concat( )
创建并返回一个新数组,它的元素包括调用concat()的原始数组的元素和concat()的每个参数。

slice( )
返回指定数组的一个片段或子数组。
它的两个参数分别指定了片段的开始和结束的位置。

splice( )
是在数组中插入或删除元素的通用方法。
不同于slice()和concat(),splice()会修改调用的数组。

push( )和pop( )
push()和pop()方法允许将数组当做栈来使用。
push()方法在数组的尾部添加一个或多个元素,并返回数组新的长度。
pop()方法则相反:它删除数组的最后一个元素,减小数组长度并返回它删除的值。
注意,两个方法都修改并替换原始数组而非生成一个修改版的新数组。

unshift()和shift()
unshift()在数组的头部添加一个或多个元素,并将已存在的元素移动到更高索引的位置来获得足够的空间,最后返回数组新的长度。
shift()删除数组的第一个元素并将其返回,然后把所有随后的元素下移一个位置来填补数组头部的空缺。

构造函数方法
Array.from( ),用于将两类对象转为真正的数组。

<body>
    <ul id="list-nums">
      <li>100</li>
      <li>200</li>
      <li>300</li>
    </ul>
    <script>
      let lis = document.querySelectorAll("#list-nums li");
      console.log(lis);
      let items = Array.from(lis, function (item) {
        return item.textContent;
      });
      console.log(items);
    </script>
  </body>

Array.of( ),将一组值转换为数组。

let nums = Array.of(...arr, 7, 8, 9);
console.log(nums);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值