JS--数组 今天药忘吃喽~ 2022-12-27 15:23 158阅读 0赞 原文网址:[JS--数组\_IT利刃出鞘的博客-CSDN博客][JS--_IT_-CSDN] # 其他网址 # [分析Array.apply(null, \{ length: 20 \})\_个人文章 - SegmentFault 思否][Array.apply_null_ _ length_ 20 _ - SegmentFault] [Array.apply生成数组小结][Array.apply] # **创建数组方法** # > new Array(3); > Array(3); > {length: 3}; //这只是个对象 > > Array.apply(null, new Array(3)) > Array.apply(null, Array(3)); > Array.apply(null, {length: 3}); > > //ES6写法 > Array(3).fill(2); > Array.from({length: 3}); > Array(...Array(3)); > [...Array(3)] > > 测试以上方法的结果 > > <!doctype html> > <html lang="en"> > > <head> > <meta charset="UTF-8"> > <title>this is title</title> > </head> > > <body> > > <script> > let arr1 = new Array(3); > let arr2 = Array(3); > let arr3 = {length: 3}; > > let arr4 = Array.apply(null, new Array(3)) > let arr5 = Array.apply(null, Array(3)); > let arr6 = Array.apply(null, {length: 3}); > > //ES6写法 > let arr7 = Array(3).fill(2); > let arr8 = Array.from({length: 3}); > let arr9 = Array(...Array(3)); > let arr10 = [...Array(3)] > </script> > > </body> > </html> > > 简略结果 > > ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZlaXlpbmcwY2FuZ2xhbmc_size_16_color_FFFFFF_t_70][] > > 详细结果 > > ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZlaXlpbmcwY2FuZ2xhbmc_size_16_color_FFFFFF_t_70 1][] # 写法区别 # **以下三种方法不能创建元素及索引,只有length属性** > new Array(3); > Array(3); > {length: 3}; **以下方法可以创建元素、索引、length属性** > Array.apply(null, new Array(3)) > Array.apply(null, Array(3)); > Array.apply(null, {length: 3}); > > //ES6写法 > Array(3).fill(2); > Array.from({length: 3}); > Array(...Array(3)); > [...Array(3)] **对遍历的影响** > 对forEach、for ... in、for ... of的影响是一样的:对于没有元素的数组,会直接跳过,只会遍历有元素的值(包括undefined)。 > **空元素测试** > > new Array(3); > Array(3); > {length: 3}; > > 对以上三种分别进行:xxx.forEach(console.log) > > let arr1 = new Array(3); > arr1.forEach(console.log) > > ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZlaXlpbmcwY2FuZ2xhbmc_size_16_color_FFFFFF_t_70 2][] > > let arr2 = Array(3); > arr2.forEach(console.log) > > ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZlaXlpbmcwY2FuZ2xhbmc_size_16_color_FFFFFF_t_70 3][] > > let arr3 = {length: 3};; > arr3.forEach(console.log) > > ![20201212134955596.png][] > **非空元素测试** > > Array.apply(null, new Array(3)) > Array.apply(null, Array(3)); > Array.apply(null, {length: 3}); > > //ES6写法 > Array(3).fill(2); > Array.from({length: 3}); > Array(...Array(3)); > [...Array(3)] > > 对以上分别进行:xxx.forEach(console.log) > > let arr4 = Array.apply(null, new Array(3)) > let arr5 = Array.apply(null, Array(3)); > let arr6 = Array.apply(null, {length: 3}); > > //ES6写法 > let arr7 = Array(3).fill(2); > let arr8 = Array.from({length: 3}); > let arr9 = Array(...Array(3)); > let arr10 = [...Array(3)] > > arr4.forEach(console.log); > arr5.forEach(console.log); > arr6.forEach(console.log); > arr7.forEach(console.log); > arr8.forEach(console.log); > arr9.forEach(console.log); > arr10.forEach(console.log); > > 结果 > > ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZlaXlpbmcwY2FuZ2xhbmc_size_16_color_FFFFFF_t_70 4][] # 原理 # var arrayLike = \{length: 2\} ↓↓ Array.apply(null, arrayLike) ↓↓ Array(arrayLike\[0\], arrayLike\[1\]) // 把一个空数组中的每一个元素的值逐个传入Array()方法 ↓↓ Array(undefined, undefined) // 而空数组中的每一个元素的值都为undefined //最终输出 \[undefined, undefined\] [JS--_IT_-CSDN]: https://knife.blog.csdn.net/article/details/111058494 [Array.apply_null_ _ length_ 20 _ - SegmentFault]: https://segmentfault.com/a/1190000011435501 [Array.apply]: https://juejin.cn/post/6844903818056957960 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZlaXlpbmcwY2FuZ2xhbmc_size_16_color_FFFFFF_t_70]: /images/20221120/f4cd1f5e78144cb9b6d88873d7ae6cf7.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZlaXlpbmcwY2FuZ2xhbmc_size_16_color_FFFFFF_t_70 1]: /images/20221120/64e327639c084768b042ee0c4b5ccfeb.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZlaXlpbmcwY2FuZ2xhbmc_size_16_color_FFFFFF_t_70 2]: /images/20221120/013eb651d0184d75945f6c1d3073e4fc.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZlaXlpbmcwY2FuZ2xhbmc_size_16_color_FFFFFF_t_70 3]: /images/20221120/74f2b2c0e7bc4006b5e00e22d50dbcbe.png [20201212134955596.png]: /images/20221120/ee721b377430463eb6289a01166cbd77.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZlaXlpbmcwY2FuZ2xhbmc_size_16_color_FFFFFF_t_70 4]: /images/20221120/e630ccdf3de9493ebb224fd520fb097c.png
相关 js数组 数组概念 所谓的数组,就是数据的集合 基本数据类型 : 在变量中只能存储一个单元的数据; 数组,是数据的集合,可以存储多个单元的数 「爱情、让人受尽委屈。」/ 2023年07月16日 12:59/ 0 赞/ 2 阅读
相关 JS_js合并数组方法 function SplitArray(list, sp) { if (typeof list != 'object') return []; i 亦凉/ 2023年01月03日 12:53/ 0 赞/ 228 阅读
相关 JS--数组 原文网址:[JS--数组\_IT利刃出鞘的博客-CSDN博客][JS--_IT_-CSDN] 其他网址 [分析Array.apply(null, \{ length: 今天药忘吃喽~/ 2022年12月27日 15:23/ 0 赞/ 159 阅读
相关 js数组JavaScript数组 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> 亦凉/ 2022年10月09日 04:48/ 0 赞/ 202 阅读
相关 JS数组 shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shi 古城微笑少年丶/ 2022年06月03日 00:26/ 0 赞/ 225 阅读
相关 js_数组 1) 创建数组: 第一种方式: var arr = \[\];// 初始化一个空长度的数组 第二种方式: var arr = new Array(); 2) 数 绝地灬酷狼/ 2022年05月25日 05:43/ 0 赞/ 216 阅读
相关 JS数组 JS作为动态的弱类型语言,其数组总结来说有以下特征: 数组长度可变。 数组中元素数据类型可以随意。 数组不会越界。访问未赋值的数组元素,元素的值为undefined。 喜欢ヅ旅行/ 2022年05月15日 05:38/ 0 赞/ 212 阅读
相关 js伪数组转数组、js判断是不是数组 一、伪数组转数组: 具有length属性; 按索引方式存储数据; 不具有数组的push()、pop()等方法; 伪数组无法直接调用数组方法或期望 ╰半夏微凉°/ 2022年05月15日 00:30/ 0 赞/ 323 阅读
相关 JS数组 目录 一、什么是数组 二、数组的书写 1.通过构造函数创建 2.字面量创建 三、数组的操作 1.数组的添加 刺骨的言语ヽ痛彻心扉/ 2021年09月07日 06:03/ 0 赞/ 526 阅读
还没有评论,来说两句吧...