电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

js fill函數填充數組或對象的解決方法

瀏覽:21日期:2022-06-01 17:49:52
目錄
  • js fill函數填充數組或對象的問題
  • 擴展:js--數組的 fill() 填充方法詳解
    • 前言
    • 正文
    • 1、fill()  語法
    • 2、fill() 的使用

js fill函數填充數組或對象的問題

js 的數組有一個 fill 方法,可以給數組填充數據,這個方法有三個參數,從左到右依次為 要填充的數據,填充的起始位置(默認為0),停止填充的位置(默認是數組的長度),這個方法不改變原數組,如下:

let arr = [0,0,0,0,0]
let res = arr.fill(1,1,2)
console.log(res)    // [0, 1, 0, 0, 0]
let oneParam = arr.fill(1)
console.log(oneParam)  // [1,1,1,1,1]
console.log(arr)   // [0,0,0,0,0]

問題: 有一次,我根據這個方法想要初始化一個二維數組,如下:

let arr = new Array(5).fill([])

我本來是想創建一個長度為5的數組,數組的每一項都是一個空數組,但是我遇到了一個問題,就是這個數組里面的5個數組其實指向的都是一個數組,即fill函數應該是直接我把傳遞的參數 [] 進行了賦值,所以我給其中一個數組賦值是,發現所有的數組都有值了,所以想要進行二維數組的初始化,不能這么做;

解決方法: 為了解決這個問題,想到了另外一個方法,就是使用map方法,如下:

let arr = new Array(5).fill(0).map(item=>[])  

這里先創建一個長度為5,全為0的數組,然后map這個數組,返回一個空數組,此時每個數組就都不一樣了,注意:這個fill(0)也是必要的,因為全為空的數組不會執行map函數

擴展:js--數組的 fill() 填充方法詳解

前言

  我們知道了很多了初始化數組的方法,但是初始化數組之后,數組中的每一項元素默認為 empty 空位占位,如何對數組這些空位添加默認的元素,ES6提供了 fill() 方法實現這一操作。本文總結數組 fill() 方法的詳細使用。

正文

1、fill()  語法

  fill() 方法用一個固定值填充一個數組中從起始索引到終止索引內的全部元素。不包括終止索引。返回修改后的原始數組,不創建新數組。

  使用語法:array.fill( value [,start [,end]]),其中 :

    value 用來填充數組元素的值,必填。

    start 可選起始索引,默認值為0。

    end 可選終止索引,默認值為 this.length。

2、fill() 的使用

// 當傳入單個參數的時候,該方法會用該參數的值填充整個數組
    var arr1 = new Array(5)
    console.log(arr1.fill(1)); //[1,1,1,1,1]
    var arr2 = [1, 2, 3, 4]
    console.log(arr2.fill(0)); //[0,0,0,0]

    // 當傳入兩個參數的時候,第一個參數為填充的元素,第二個為填充元素的起始位置
    var arr3 = [0, 1, 2, 3, 4, 5, 6]
    console.log(arr3.fill(1, 3)); //[0,1,2,1,1,1,1]

    // 當傳入三個參數的時候,第一個參數為填充的元素,第二個參數和第三個參數分別指填充元素的起始和終止位置,不修改終止位置元素
    var arr4 = [0, 1, 2, 3, 4, 5]
    console.log(arr4.fill(1, 3, 5)); //[0,1,2,1,1,5]
    
    //如果提供的起始位置或結束位置為負數,則他們會被加上數組的長度來算出最終的位置,例如 起始位置為-1 就相當于array.length-1
    var arr5 = [0, 1, 2, 3, 4, 5]
    console.log(arr5.fill(1, -3));//[0,1,2,1,1,1]
    var arr6 = [0, 1, 2, 3, 4, 5]
    console.log(arr6.fill(1, 3, -2));//[0,1,2,1,4,5]

到此這篇關于js fill函數填充數組或對象的問題的文章就介紹到這了,更多相關js fill函數填充內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: JavaScript
主站蜘蛛池模板: 护腰带生产厂家_磁石_医用_热压护腰_登山护膝_背姿矫正带_保健护具_医疗护具-衡水港盛 | SPC工作站-连杆综合检具-表盘气动量仪-内孔缺陷检测仪-杭州朗多检测仪器有限公司 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 杭州代理记账多少钱-注册公司代办-公司注销流程及费用-杭州福道财务管理咨询有限公司 | 工业雾炮机_超细雾炮_远程抑尘射雾器-世纪润德环保设备 | 济南宣传册设计-画册设计_济南莫都品牌设计公司 | 东莞精密模具加工,精密连接器模具零件,自動機零件,冶工具加工-益久精密 | 鲸鱼视觉 -数字展厅多媒体互动展示制作公司| 航空连接器,航空插头,航空插座,航空接插件,航插_深圳鸿万科 | 抓斗式清污机|螺杆式|卷扬式启闭机|底轴驱动钢坝|污水处理闸门-方源水利机械 | 不锈钢螺丝,不锈钢螺栓,不锈钢标准件-江苏百德特种合金有限公司 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 冰晶石|碱性嫩黄闪蒸干燥机-有机垃圾烘干设备-草酸钙盘式干燥机-常州市宝康干燥 | 交流伺服电机|直流伺服|伺服驱动器|伺服电机-深圳市华科星电气有限公司 | 道达尔润滑油-食品级润滑油-道达尔导热油-合成导热油,深圳道达尔代理商合-深圳浩方正大官网 | 深圳昂为官网-气体分析仪,沼气分析仪,动态配气仪,气体传感器厂家 | 骨龄仪_骨龄检测仪_儿童骨龄测试仪_品牌生产厂家【品源医疗】 | 无锡不干胶标签,卷筒标签,无锡瑞彩包装材料有限公司 | 股指期货-期货开户-交易手续费佣金加1分-保证金低-期货公司排名靠前-万利信息开户 | 【电子厂招聘_普工招工网_工厂招聘信息平台】-工立方打工网 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 纸塑分离机-纸塑分离清洗机设备-压力筛-碎浆机厂家金双联环保 | 全自动定氮仪-半自动凯氏定氮仪厂家-祎鸿仪器 | 上海诺狮景观规划设计有限公司| 大_小鼠elisa试剂盒-植物_人Elisa试剂盒-PCR荧光定量试剂盒-上海一研生物科技有限公司 | 车件|铜件|车削件|车床加工|五金冲压件-PIN针,精密车件定制专业厂商【东莞品晔】 | 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 便携式表面粗糙度仪-彩屏硬度计-分体式粗糙度仪-北京凯达科仪科技有限公司 | 宝元数控系统|对刀仪厂家|东莞机器人控制系统|东莞安川伺服-【鑫天驰智能科技】 | 上海电子秤厂家,电子秤厂家价格,上海吊秤厂家,吊秤供应价格-上海佳宜电子科技有限公司 | 临朐空调移机_空调维修「空调回收」临朐二手空调 | BOE画框屏-触摸一体机-触控查询一体机-触摸屏一体机价格-厂家直销-触发电子 | 常州企业采购平台_常州MRO采购公司_常州米孚机电设备有限公司 | 轻型地埋电缆故障测试仪,频响法绕组变形测试仪,静荷式卧式拉力试验机-扬州苏电 | 小型UV打印机-UV平板打印机-大型uv打印机-UV打印机源头厂家 |松普集团 | 菲希尔FISCHER测厚仪-铁素体检测仪-上海吉馨实业发展有限公司 | 新车测评网_网罗汽车评测资讯_汽车评测门户报道 | 洗地机-全自动/手推式洗地机-扫地车厂家_扬子清洁设备 | 食安观察网| 钢结构-钢结构厂房-钢结构工程[江苏海逵钢构厂] | 成人纸尿裤,成人尿不湿,成人护理垫-山东康舜日用品有限公司 | 雷蒙磨,雷蒙磨粉机,雷蒙磨机 - 巩义市大峪沟高峰机械厂 |