arr

JS的高阶函数

点点圈 提交于 2019-11-29 09:47:25
JavaScript的函数其实都指向某个变量。既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。 这就是最简单的高阶函数啦 function high( a, b, f ){ return f(a) + f(b) }   之前遇到一个面试题是用高阶函数写一个jq里的$each方法。 let arr=[1,2,3,4,5]; function fn1(a,b) { return b(a) } function fn2(e) { for(let i=0;i<e.length;i++){ console.log(i,e[i]) } } fn1(arr,fn2) 然后前面我引入的连接里有写一些高阶函数的方法,我们来一一介绍使用一下~ 1.map() 由于map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新的Array作为结果。 let arr =[1,2,3,4,5]; arr.map(item =>{ console.log(item) }) //1,2,3,4,5 let arr =[1,2,3,4,5]; const arr2 = arr.map(x =>++x) console.log(arr2) // 2,3,4,5,6    2.filter

06.array

♀尐吖头ヾ 提交于 2019-11-29 08:36:14
title date Array 类型 2019-08-19 JavaScript | Array 类型 介绍 Array 类型的特性及其常用方法。 目录摘要 数组 声明 模拟队列与栈 遍历数组 length属性 数组方法 添加/删除元素 查询元素 数组转换 迭代元素 数组 数组是一种储存有序集合的数据结构。 作为对象,在JavaScript中对其进行了特殊的优化,使其在内存中连续且比普通对象性能更好。 声明 创建方法: let arr = new Array (); let arr = []; 一般使用第二种方式,许多行为与Java相类似: let fruits = [ " Apple " , " Orange " , " Plum " ]; // 创建数组 alert ( fruits[ 0 ] ); // 获取元素 fruits[ 2 ] = ' Pear ' ; // 替换元素 fruits[ 3 ] = ' Lemon ' ; // 添加元素 alert ( fruits . length ); // 数组元素个数 JavaScript的Array数组支持混合值: let arr = [ ' Apple ' , { name : ' Haze ' }, true , function () { alert ( ' hello ' ); } ]; 和对象类似

js获取url中参数名也参数值

别来无恙 提交于 2019-11-29 08:33:26
本文转载于: 猿2048 网站➯ js获取url中参数名也参数值 要撮利用js获取url中参数名也参数值这个不多见了,但我今天需要这样操作,下面我来给大家介绍一下具体的实例方法。 在已知参数名的情况下,获取参数值,使用 正则表达式 能很容易做到。 js的实现方法如下: 代码如下 复制代码 function getValue(url, name) { var reg = new RegExp('(\?|&)' + name + '=([^&?]*)', 'i'); var arr = url.match(reg); if (arr) { return arr[2]; } return null; } 或 方法一:正则分析法 代码如下 复制代码 function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search. substr (1).match(reg); if (r != null) return unescape(r[2]); return null; } 这样调用: alert(GetQueryString("参数名1")); alert(GetQueryString("参数名2")); alert

C++Primer 5th Chap4 Expressions

邮差的信 提交于 2019-11-29 08:27:41
左值和右值:左值:用的是对象的身份(内存中的位置),右值:用的是对象的值(内容) 解引用与递增(递减)运算符连用:   *ivec++:取ivec当前值并向后移动一个元素,等价于*(ivec++),本来++的优先级高于* 条件运算符嵌套:(注意在语句两端加上括号,条件运算符优先级极低)   A?B:C?D:E等价于A?B:(C?D:E) 位运算符(建议仅将位运算用于无符号类型,避免因符号位问题造成错误)   用法: 运算符 功能 用法 ~ 位求反 ~exp << 左移 exp1<<exp2 >> 右移 exp1>>exp2 & 位与 exp1&exp2 ^ 位异或 exp1^exp2 | 位或 exp1|exp2          位运算的结果一旦超出位的范围,超出部分的位将会被舍弃    <<操作符满足左结合律 sizeof运算符 :返回一条表达式或类型名所占的字节数,返回值类型为size_t,满足右结合律   sizeof(data.revenue);//获取类对象data的revenue成员对应类型的大小   sizeof(arr);//获取数组arr的类型大小,是其所有元素类型大小之和(利用sizeof(arr)/sizeof(*arr)可以获取arr的元素数量 命名的强制类型转换 :cast-name<type>(expression),cast-name有4种

Python堆排序

亡梦爱人 提交于 2019-11-29 07:32:21
def adjust_deap(arr, p, b): while True: if 2 * p + 1 > b - 1: break elif 2 * p + 2 < b and arr[2 * p + 2] > arr[2 * p + 1] and arr[2 * p + 2] > arr[p]: arr[p], arr[2 * p + 2] = arr[2 * p + 2], arr[p] p = 2 * p + 2 elif arr[2 * p + 1] > arr[p]: arr[p], arr[2 * p + 1] = arr[2 * p + 1], arr[p] p = 2 * p + 1 else: break return arr def create_heap(arr): m = len(arr) / 2 - 1 while m > -1: arr = adjust_deap(arr, m, len(arr)) m -= 1 return arr def heap_sort(arr): m = len(arr) - 1 while m: arr[0], arr[m] = arr[m], arr[0] arr = adjust_deap(arr, 0, m) m -= 1 return arr a = [4, 2, 4, 7, 5, 3, 6, 8, 9, 35,

PHP构建数据结构填充数据

风流意气都作罢 提交于 2019-11-29 06:57:56
步骤: 1.先进行构建数据结构 2.进行一步步的添加数据 注释:[]表示的就是内容 前面键值的内容 // 构建数据结构 $data = [ 'categories' => [], 'series' => [ [ 'name' => '日分享', 'data' => [] ] ] ]; // 进行对数据结构进行添加数据 if( $list ){ foreach( $list as $_item ){ //就是向categories里面进行添加数据 $data['categories'][] = $_item['date']; // 就是想data里面添加数据 // 为什么会有一个0呢 因为二维数组啊 加个0要指代一下啊!!! // 如果直接没有【】的话 就不用【0】了 $data['series'][0]['data'][] = $_item['total_shared_count']; } } return $this->renderJSON( $data ); 基础填充 <?php $arr = array(5 => 1, 12 => 2); $arr[] = 56; // This is the same as $arr[13] = 56; // at this point of the script $arr["x"] = 42; // This adds a new

希尔排序 | 通俗易懂的理解排序过程

懵懂的女人 提交于 2019-11-29 06:43:48
响应群众需求,今天安排上「希尔排序」。 阅读本文前,请先服用「 插入排序 」,效果更加。 Content 实现过程 关键思路 代码实现 结合代码和中间过程,再体会 算法评价 「希尔排序」🆚 「插入排序」 听说有彩蛋❓ 👀「 更多排序 」 《 冒泡排序 | 通俗易懂的理解排序过程 》 《 选择排序 | 通俗易懂的理解排序过程 》 《 快速排序 | 通俗易懂的理解排序过程 》 《 插入排序 | 通俗易懂的理解排序过程 》 1. 实现过程 对 [5,4,1,3,2] 升序排列,中间步骤 ⬇️ 2. 关键思路 「希尔排序」—— 按固定间隔划分子序列,对每个子序列实现简单插入排序。 这么来看, 「希尔排序」可以拆解成两大步骤 : 划分子序列; 在子序列中简单插入排序。 Q:怎么划分子序列? 等间隔划分 。本例中,初始下标之差按照 d= n//2 计算,之后 d = d//2 循环更新。 先做远距离的移动,再逐渐缩小间隔 。这样,可以减少移动的次数,因为 极端情况,间隔为1时即退化为简单插入排序。 Q:简单插入排序怎么操作? 简单概括 —— 比较、后移、腾位置、插入target 。没看过简单插入排序的,点这里。 3. 代码实现 def ShellSort(arr): def ssort(arr, d): n = len(arr) for i in range(d, n): j = i-d #

数组操作方法(包括es6数组的操作方法)

与世无争的帅哥 提交于 2019-11-29 06:31:36
//(1)push() //向数组最里面推一个或多个数据 var arr=["色","等","烟","雨"]; arr.push("而",'我',"在"); console.log(arr); //(2)unshift() // 在数组的开头添加一个或多个数据 var arr=["色","等","烟","雨"]; arr.unshift("天","青"); console.log(arr); //(3)pop() //在数据的尾部删除一个数据 var arr=["色","等","烟","雨"]; arr.pop(); console.log(arr); //(4)shift() // 在数组的开头删除一个数据 var arr=["色","等","烟","雨"]; arr.shift(); console.log(arr); //(5)splice() /* arr.splice(参数1,参数2,参数3,参数4,参数5,....参数n); 参数1表示要删除的开始位置, 参数2表示删除的个数, 参数3,参数4,参数5,....参数n,表示在删除位置添加的字符 */ var arr=["色","等","烟","雨"]; arr.splice(1,2,"周","杰","伦"); console.log(arr); //(6)concat() // 把两个或多个数组连接成一个数组 var a

System类+Math类+Arrays类

血红的双手。 提交于 2019-11-29 06:18:12
System类 System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作 l currentTimeMillis () 获取当前系统时间与1970年01月01日00:00点之间的毫秒差值 l exit(int status) 用来结束正在运行的Java程序。参数传入一个数字即可。通常传入0记为正常状态,其他为异常状态 l gc() 用来运行JVM中的垃圾回收器,完成内存中垃圾的清除。 getProperty(String key) 用来获取指定 键 (字符串名称)中所记录的系统属性信息 Math类 Math 类是包含用于执行基本数学运算的方法的数学工具类 l abs方法,结果都为正数 double d1 = Math.abs(-5); // d1的值为5 double d2 = Math.abs(5); // d2的值为5 l ceil方法,结果为比参数值大的最小整数的double值 double d1 = Math.ceil(3.3); //d1的值为 4.0 double d2 = Math.ceil(-3.3); //d2的值为 -3.0 double d3 = Math.ceil(5.1); // d3的值为 6.0 l floor方法,结果为比参数值小的最大整数的double值 double d1 = Math.floor(3.3); //d1的值为3.0

对于arr.filter() 的理解

梦想的初衷 提交于 2019-11-29 04:53:49
filter() 是数组中的一个过滤器,用于把Array的某些元素过滤掉,然后返回剩下的元素。 其主要原理是: filter会把传入的函数依次作用于每个元素,然后根据返回值是 true 还是false决定保留还是丢弃该元素。 栗子:用filter过滤掉arr里面的偶数: function removeOld(arr) { return arr.filter((item) => { return item % 2 != 0 }) } console.log(removeOld([1, 2, 46, 53, 23, 62])); // 返回奇数 [1, 53, 23] ----------后续会补充 来源: https://blog.csdn.net/Miss_liangrm/article/details/100183201