arr

ES6——Promise

僤鯓⒐⒋嵵緔 提交于 2019-12-01 02:43:33
异步和同步 异步,操作之间没有关系,同时执行多个操作, 代码复杂 同步,同时只能做一件事,代码简单 Promise 对象 用同步的方式来书写异步代码 Promise 让异步操作写起来,像在写同步操作的流程,不必一层层地嵌套回调函数 改善了可读性,对于多层嵌套的回调函数很方便 充当异步操作与回调函数之间的中介,使得异步操作具备同步操作的接口 Promise 也是一个构造函数 接受一个回调函数f1作为参数,f1里面是异步操作的代码 返回的p1就是一个 Promise 实例 所有异步任务都返回一个 Promise 实例 Promise 实例有一个then方法,用来指定下一步的回调函数 let p1 = new Promise(function(resolve, reject){ // 异步代码 resolve 成功了 reject 失败了 // $.ajax() 执行异步 AJAX 请求 $.ajax({ url: '10-arr.txt', //规定发送请求的 URL。默认是当前页面。 dataType:'json',//预期的服务器响应的数据类型。 success(arr){ resolve(arr); }, error(err){ reject(err); } }) }); p1.then(function(arr){ console.log('成功了'+arr); }

[JavaScript]-Array构造的数组使用map为何失效?

元气小坏坏 提交于 2019-12-01 01:55:43
[示例] 假设你需要生成一个从0到99的数组。你要怎么做呢?下面是一种解法: const arr = []; for (let i = 0; i < 100; i++) { arr[i] = i; } 看到这种使用传统的for循环的方式会有点不大习惯。事实上,各种高阶函数,像forEach, map, filter, reduce足以写出各种漂亮的代码。 也许你还没有沉醉于函数式编程的美妙,那么你会认为上面的解法足矣。不过,如果你用过高阶函数编程,你也许就会想:一定还有更加优雅的实现方法。 我的第一直觉就是:首选创建一个长度为100的空数组,然后由map用index去初始化每一个元素。在JavaScript中,你可以用Array构造函数来创建数组: const arr = Array(100); 接下来你只需要用map就可以解决问题了: const arr = Array(100).map((_, i) => i); console.log(arr[0] === undefined); // true 可是,为什么第一个元素不是0而是undefined? [解释] 为了理解为何没有生效,我需要首先讲清楚一个非常重要的技术点。在内部,JavaScript数组实际上是对象,对象里面的属性名是数字,对应数组的下标。举个例子: ['a', 'b', 'c'] 它实际上等价于: { 0:

数组扁平化

有些话、适合烂在心里 提交于 2019-12-01 00:03:02
将数组中的数据扁平化 一、常规方法——递归 function flatten0(arr){ var result=[]; for(var i=0;i<arr.length;i++){ if(Array.isArray(arr[i])){ result=result.concat(flatten0(arr[i])); } else{ result.push(arr[i]) } } return result; } 二、toString方法 将数组转换成字符串格式,然后按照","分隔。 console.log(arr.toString().split(",").map(item=>+item)) 但,如你所见,一旦数组中出现函数等元素,这种方法就不适用了。 这里还有一个小点比较有趣 关于+运算符:         一元正号运算符位于其操作数前面,计算其操作数的数值,如果操作数不是一个数值,会尝试将其转换成一个数值。 尽管一元负号也能转换非数值类型,但是一元正号是转换其他对象到数值的最快方法,也是最推荐的做法,因为它不会对数值执行任何多余操作。它可以将字符串转换成整数和浮点数形式,也可以转换非字符串值 true,false 和 null。小数和十六进制格式字符串也可以转换成数值。负数形式字符串也可以转换成数值(对于十六进制不适用)。如果它不能解析一个值,则计算结果为 NaN。 三

9.29 模块

跟風遠走 提交于 2019-11-30 23:01:48
1.numpy模块: 用来做数据分析,对numpy数组(既有行又有列)--矩阵进行科学运算 #为什么要用numpy lt1[1,2,3] #n个元素 lt2[4,5,6] lt=[] for i in range(len(lt1)): lt.append(lt1[i]*lt2[i]) print(lt) 运行结果: [4, 10, 18] #此方法得到新列表[4,10,18]比较复杂 创建numpy数组(可变):numpy数组即numpy的ndarray对象,创建numpy数组就是把一个列表传入np.array()方法 import numpy as np arr1=np.array([1,2,3]) arr2=np.array([4,5,6]) print(arr1*arr2) 运行结果: [ 4 10 18] import numpy as np arr1=np.array([1,2,3]) arr2=np.array([4,5,6]) print(arr1*arr2) #一维数组 print(np.array([1,2,3])) #二位数组 arr=np.array([ [1,2,3], [4,5,6] ]) print(arr) #三维数组 arr3=np.array([ [[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]] ]) print

06-列表渲染-for.html

被刻印的时光 ゝ 提交于 2019-11-30 22:31:13
<div id="root"></div> <script src="./react.js"></script> <script src="./react-dom.js"></script> <script src="./babel.min.js"></script> <script type="text/babel"> var arr = ['aaa','nnnn','ccc'] //此时展开是没有标签得,希望套上标签 // const el=(<div>{arr}</div>) // var h2s=[] // for(var i=0;i<arr.length;i++){ // h2s.push(<h2>{arr[i]}</h2>) // //arr[i]要加{},否则不是变量,会显示3个arr[i] // // h2s.push(<h2>arr[i]</h2>) // } var h2s=arr.map(function(curVal,index){ return <h2>{curVal}</h2> }) //{}是支持map语句得,for循环是不支持得 const el=(<div>{h2s}</div>) ReactDOM.render(el,document.getElementById('root')) </script> 来源: https://www

Web全栈-JavaScript-笔记5

旧时模样 提交于 2019-11-30 22:21:47
8. Array高级API 回顾 两种创建数组的方式? length 获取数组的长度(元素个数) sort() 按升序排列数组项——即最小的值位于最前面,最大的值排在最后面。 var arr2 = [7,6,15,4,13,2,1]; console.log(arr); console.log(arr.sort()); 存在问题? 只能通过第一位排列。解决问题办法:通过回掉函数进行规则设置。 a-b升序 b-a降序 内部运用了冒泡排序 slice() 用法 返回从原数组中指定开始下标到结束下标之间的项组成的新数组。 slice()方法可以接受一或两个参数,即要返回项的起始和结束位置。 在只有一个参数的情况下, slice()方法返回从该参数指定位置开始到当前数组末尾的所有项。 如果有两个参数,该方法返回起始和结束位置之间的项——但不包括结束位置的项。 var arr = [1,3,5,7,9,11]; var arrCopy = arr.slice(1); var arrCopy2 = arr.slice(1,4); var arrCopy3 = arr.slice(1,-2); var arrCopy4 = arr.slice(-4,-1); console.log(arr); //[1, 3, 5, 7, 9, 11](原数组没变) console.log(arrCopy);

python 3(二十五)科学计算之pandas入门(二)

流过昼夜 提交于 2019-11-30 21:23:11
一.通用函数:快速的元素级数组函数 通用函数(ufunc)是一种对ndarray中的数据执行元素级运算的函数。我们可以将其看作简单函数(接受一个或多个标量,并产生一个或多个标量)的矢量化包装器。 许多通用函数都是简单的元素级变体, 如sqrt和exp: import numpy as np arr=np.arange(10) print(np.sqrt(arr)) ======================================== [0. 1. 1.41421356 1.73205081 2. 2.23606798 2.44948974 2.64575131 2.82842712 3. ] ======================================== print(np.exp(arr)) ======================================== [1.00000000e+00 2.71828183e+00 7.38905610e+00 2.00855369e+01 5.45981500e+01 1.48413159e+02 4.03428793e+02 1.09663316e+03 2.98095799e+03 8.10308393e+03] ========================================

day 18

喜你入骨 提交于 2019-11-30 21:17:30
目录 python day18 模块 numpy模块 numpy模块: 用来做数据分析,对numpy数组(既有行又有列)--矩阵进行科学运算 matplotlib模块 pandas模块 python day18 模块 numpy模块 numpy模块: 用来做数据分析,对numpy数组(既有行又有列)--矩阵进行科学运算 import numpy as np arr1 = np.array([1,2,3]) arr1 = np.array([4,5,6]) #numpy数组 --> 可变数据类型 #二位数组 arr = np.array([ [1,2,3], [4,5,6] ]) #T 数组的转置(对高维数组而言) ---> 行列互换,转置 print(arr,'\n',arr.T) #dtype 数组元素的数据类型,numpy数组是属于python解释器的;int32/float64 属于numpy print(aar.dtype) #size 数组元素的个数 print(arr.size) #ndim 数组的维数 print(arr.ndim) # shape 数组的维度大小(以元祖形式) print(arr.shape[0]) print(arr.shape[1]) #astype 类型转换 arr = arr.astype(np.float64) print(arr)

初识java数组与递归思想

主宰稳场 提交于 2019-11-30 19:45:46
数组 数组的初始化: 1.静态初始化: 值由我们来给定,长度通过系统来计算。 格式举例: int[] arr=new int[]{这里是我们给定的值} 静态初始化的简写格式: int[] arr={这里是我们给定的值};这种方式用法的比较多。 2.动态初始化: 长度有我们来给定,值有系统初始化默认值。各个类型对应的默认值不一样,我们 下面会介绍。 格式举例: int[] arr=int[我们指定的长度]; 注意: 数组类型的变量有两种定义方式: 1.int[] a; 2.int a[]; 推荐使用第一种定义方式。 匿名数组: 格式:new int[]{值} 数组初始化默认的值介绍每一个数组对象一开始都拥有自己的默认值: byte,short,int,long 默认值是 0 float,double 默认值是 0.0 char 默认值是 '\u0000' boolean 默认值是 false 引用数据类型 默认值是 null 注意: 数组属于引用类型(对象),引用数据类型的默认值为null(null也是一种引用类型) 二维数组: 二维数组就是数组嵌套数组。 二维数组的创建格式: 动态初始化:int[][] arr=new int[长度][长度] int[][] arr=new int[长度][] 这种方式没有给定一维数组的长度那么数组类初始化化的时候就会给一个默认的值null

day_18

南楼画角 提交于 2019-11-30 19:45:28
目录 random模块 numpy模块 创建numpy数组 numpy数组的常用属性 获取numpy二数组行列数 切割numpy数组 numpy数组元素替换 numpy数组的合并 numpy常用函数 matplotlib模块 基本的核心使用方法 条形图 直方图 折线图 散点图+直线图 pandas模块 random模块 常用于生成随机数 import random # 大于0且小于1之间的小数 print(random.random()) # 0.9704044132949314 # 大于等于1且小于等于3之间的整数 print(random.randint(1, 3)) # 2 # 大于等于1且小于3之间的整数 print(random.randrange(1, 3)) # 1 # 大于1小于3的小数,如1.927109612082716 print(random.uniform(1, 3)) # 2.9017299775297385 # 列表内的任意一个元素,即1或者‘23’或者[4,5] print(random.choice([1, '23', [4, 5]])) # 23 # random.sample([], n),列表元素任意n个元素的组合,示例n=2 print(random.sample([1, '23', [4, 5]], 2)) # ['23', [4, 5]