Array.apply(arr,Array())

  这是自己没事写代码时发现的 下面是整段代码

var result = Array.apply(this, Array(5)).map((item, i) => {
           return 0;
      })

这段代码生成了一个result = [0,0,0,0,0]的数组

为什么不用 result = new Array(5)呢?

因为这样的result 是empty*5,而且这时候如果调用map方法得到的仍旧是empty*5,就不能用map遍历

result = Array.apply(this, Array(5)) 就达到了我们的需求,他会生成拥有5个underfind的数组。这时候调用map方法可以遍历里面的值

先简单写写吧。

扩展在这里: 传送门

原文地址:https://www.cnblogs.com/firstsight/p/10422356.html

时间: 2024-11-10 17:33:46

Array.apply(arr,Array())的相关文章

Array.apply(null,{length:6}).map()

map定义和方法 map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理的后值. map()方法按照原始数组元素顺序依次处理元素. 注意: map不会对空数组进行检测 map不会改变原始数组 arr.map(function(currentValue,index,arr),thisValue) 参数说明 function(currentValue,index,arr) 必须,函数,数组中的每个元素都会执行这个函数函数参数 函数参数 currentValue 必须 当前元素值 ind

Array.apply(null,{length:20})与new Array(20)的区别

Array.apply(null,{length:20}) 这句代码的实际意义:创建长度为20的一个数组,但并非空数组. 跟new Array(20)的区别在于,前一种创建方式,得到的数组中的每一个元素进行了初始化,将20个元素赋值为undefined,后一种创建方式,创建了一个空数组,里面的元素没有进行初始化.

Array.prototype.slice && Array.prototype.splice 用法阐述

目的 对于这两个数组操作接口,由于不理解, 往往被误用, 或者不知道如何使用.本文尝试给出容易理解的阐述. 数组 什么是数组? 数组是一个基本的数据结构, 是一个在内存中依照线性方式组织元素的方式, 其中元素的类型必须是相同的, 这个每个元素的索引地址才能被计算出来, 索引通常是数字,用来计算元素之间存储位置的偏移量. 结构如下: javascript数组 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Glob

iOS 开发中弄不清楚的小细节之数组 ——array == nil 和 [array count] == 0区别

很多时候我们开发者往往对一些比较难的技术点相对要熟悉一些,而对一些细节或者说感觉比较简单的问题总是弄不清楚,而数组的判断首当其冲. 我们在做开发的时候,需要数据,可是很多时候从服务器下发的数据都是JSon格式,当中会有数组的存在,那么开发中会出现一部分的数组中没有元素,这个时候,我们会习惯的用是不是为空来判断.例如: 但是我们会发现,不起作用,如过为空的时候会报这样的错误: 如果我们改动一下就会ok了.怎么改呢,就是在判断的时候改成arr.count!=0,这句话的意思就是说数组中的元素个数部位

阮一峰老师的JavaScript标准参考教程:数组、Array对象和Array对象方法

数组 1. 定义 数组(array)是按次序排列的一组值.每个值的位置都有编号(从0开始),整个数组用方括号表示. var arr = ['a', 'b', 'c']; 上面代码中的a.b.c就构成一个数组,两端的方括号是数组的标志.a是0号位置,b是1号位置,c是2号位置. 除了在定义时赋值,数组也可以先定义后赋值. var arr = []; arr[0] = 'a'; arr[1] = 'b'; arr[2] = 'c'; 任何类型的数据,都可以放入数组. var arr = [ {a:

ES6的Array.from()和Array.fill()方法

今天处理数据时用到了Array.from()和Array.fill()方法,平时用的不多,这里记一下. 我的需求是要把字符串'abc',处理为[{exaple: 'abc_001.bcd'}, {exaple: 'abc_002.bcd'}, {exaple: 'abc_003.bcd'}] 处理方法如下: // 创建数组['abc', 'abc', 'abc'] let arr = new Array(3).fill('abc'); arr = Array.from(covers, (item

数组对象新增方法Array.from()、Array.of()

1. Array.from() Array.from方法用于将两类对象转为真正的数组:类数组的对象( array-like object )和可遍历( iterable )的对象(包括 ES6 新增的数据结构 Set 和Map ). let arrayLike = { '0': 'a', '1': 'b', '2': 'c', length: 3 }; // ES5 的写法 var arr1 = [].slice.call(arrayLike); // ['a', 'b', 'c'] // ES

JavaScript Array vs new Array区别

规范说明 When Array is called as a function rather than as a constructor, it creates and initialises a new Array object. Thus the function call Array(…) is equivalent to the object creation expression new Array(…) with the same arguments. 当数组作为函数调用而不是构造函

sklearn中报错ValueError: Expected 2D array, got 1D array instead:

1 from sklearn.linear_model import LinearRegression 2 lr = LinearRegression() 3 print(tr_x.shape,tr_y.shape) 4 lr.fit(tr_x,tr_y) 5 6 7 # 报错 8 (64,) (64,) 9 Traceback (most recent call last): 10 File "F:/Python_Project/sklearn2_2/zong_fu_xi/A_02.py&qu