JavaScript创建和填充数组的更多方法

空数组+fill()方法创建并填充数组

● 我们之前创建数组的方式都是手动去创建去一个数据,例如

javascript 复制代码
console.log([1, 2, 3, 4, 5, 6, 7]);

● 当然我们也可以使用Array对象来构造数组

javascript 复制代码
console.log([1, 2, 3, 4, 5, 6, 7]);
console.log(new Array(1, 2, 3, 4, 5, 6, 7));

● 再看一个创建数组的案例,

javascript 复制代码
const x = new Array(7);
console.log(x);

这并不会创建一个只有为7值得数据,然后创建一个长度为7得空数组

javascript 复制代码
const x = new Array(7);
console.log(x.map(() => 5));

通过map方法去填充整个数组,但是这个并做不到,因为map方法只能有有值的情况进行替换,未定义的无法替换

● 我们可以使用fill方法去填充

javascript 复制代码
const x = new Array(7);
console.log(x.map(() => 5));

x.fill(6);
console.log(x);

● fill方法和slice方法类似,我们也可以传入参数,让他知道替换数组中的哪些值

javascript 复制代码
x.fill(1, 3, 5);
console.log(x);

将数组中index为3到5的填充1

Array.from

● fill方法虽然很好用,但是如果想创建1,2,3,4,5,6,7这样的数组的话,还是要使用Array.from方法更为简单

● 首先Array.from方法也可以简答的填充数组,和fill类似

javascript 复制代码
const y = Array.from({ length: 7 }, () => 1);
console.log(y);

● 当然,我们也可以生成我们1-7的那种数组

javascript 复制代码
const z = Array.from({ length: 7 }, (cur, i) => i + 1);
console.log(z);

● 实际用例,例如我们想得到下面这个页面所有存取款记录的数字部分

javascript 复制代码
labelBalance.addEventListener('click', function () {  //创建点击时间,因为必须要登录之后才能确定刷新UI才能读取到movements__value
  const movementsUI = Array.from(  
    document.querySelectorAll('.movements__value'),//通过选择器选中所有movements__value元素
    el => Number(el.textContent.replace('€', ''))//将这些元素作为参数,获取文本内容,并将€替换为空
  );
  console.log(movementsUI); //输出
});
相关推荐
liangshanbo12151 分钟前
手写 Function.prototype.call 与 Function.prototype.apply 面试题满分答案
开发语言·javascript·原型模式
Zenova EdgeOS4 分钟前
C++ 工业边缘 libcurl HTTP 客户端实战
开发语言·c++·网络协议·边缘计算
EatFan11 分钟前
HTML前端利用flex解决input定位的问题
前端·css·html·css3
Jackson_GJH28 分钟前
Qt 右键自定义菜单的实现
开发语言·c++·qt
CoderYanger1 小时前
前端基础——JavaScript(WebAPI)(下篇)
java·开发语言·前端·javascript·程序人生·面试·职场和发展
kyriewen1 小时前
AI 改祖传模块后,代码评审总绕不开两个问题
前端·程序员·ai编程
飞翔的熊blabla1 小时前
# Webpack 5 + Jenkins 持久化缓存实战:前端构建从 288 秒降到 30 秒>
前端·webpack·jenkins
风骏时光牛马1 小时前
AI多模态:跨越感官边界的智能新体验 要不要开启工作任务模式,帮你配套对应的文案和配图思路?
前端
IT_陈寒2 小时前
JavaScript的这个隐式转换特性差点让我加班到凌晨
前端·人工智能·后端
小木_.2 小时前
Python 离线识别滑块缺口距离,项目推荐
开发语言·python·滑块识别·人机验证·滑块缺口·缺口识别