arr

日常总结知识点1:

半世苍凉 提交于 2019-11-29 19:28:19
bootstracp 的栅格布局原理 媒体查询 Bootstrap框架中的网格系统就是将容器平分成12份,最后结合媒体查询,就制作出了强大的响应式网格系统。 数据行(.row)必须包含在容器(.container)中,以便为其赋予合适的对齐方式和内距(padding)。 在行(.row)中可以添加列(.column),但列数之和不能超过平分的总列数,比如12。 具体内容应当放置在列容器(column)之内,而且只有列(column)才可以作为行容器(.row)的直接子元素。 通过设置内距(padding)从而创建列与列之间的间距。 图片懒加载: 首先在渲染时,图片引用默认图片,然后把真实地址放在data-*属性上面。 <image src='./../assets/default.png' :data-src='item.allPics' class='lazyloadimg'> 然后是监听滚动,直接用window.onscroll就可以了,但是要注意一点的是类似于window的scroll和resize,还有mousemove这类触发很频繁的事件,最好用节流(throttle)或防抖函数(debounce)来控制一下触发频率。underscore和lodash里面都有封装这两个方法,这里先不多做介绍了。 接着要判断图片是否出现在了视窗里面,主要是三个高度:1

js数组,对象,类数组

白昼怎懂夜的黑 提交于 2019-11-29 18:46:58
数组定义:简而言之就是一组有序的数据集合,其索引为从0开始且自然增长的整数,其元素值可以是任何js数据!并且包含一个名为length的属性,该属性表示数组元素的个数! 看着上面的定义,我们很容易就能大概知道数组是什么样的东西,下面我们来看个简单的例子: 1 2 3 4 5 var array = [1,2,3]; console.log(array[0]) //1 ​console.log(array[1]) //2 ​console.log(array[2]) //3 ​console.log(array[ 'length' ]) //3    从上面的例子我们可以看到,在声明数组时,我们只是显式的声明了数组元素的值,并没有显式的给这些值定义索引和length属性,但是在数组定义好后我们发现就可以直接使用数组的索引值来操作数组的元素了,从这不难看出,数组元素的索引和length属性是在数组定义时根据数组元素语言自动就帮你定义好了!而且很容易就能看出来,索引值是从0开始并且自然递增的! 对象定义:js中对象类型为一组无序的由键->值组成的数据集合,其元素的键名和值都可以自定义! 我们来看一个例子: 1 2 3 4 var object = { 'a' : 1, 'b' : 2} console.log(object[ 'a' ]) //1 console.log(object[

js开发实用技巧

狂风中的少年 提交于 2019-11-29 18:20:24
String Skill 时间对比 const time1 = "2019-02-14 21:00:00"; const time2 = "2019-05-01 09:00:00"; const overtime = time1 > time2; // overtime => false 格式化金钱 const ThousandNum = num => num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); const money = ThousandNum(20190214); // money => "20,190,214" 随机生成ID const RandomId = len => Math.random().toString(36).substr(3, len); const id = RandomId(10); // id => "jg7zpgiqva" 生成随机HEX色值 const RandomColor = () => "#" + Math.floor(Math.random() * 0xffffff).toString(16).padEnd(6, "0"); const color = RandomColor(); // color => "#f03665" 生成星级评分(可以直接设置节点内容为start

[LC]747题 Largest Number At Least Twice of Others (至少是其他数字两倍的最大数)

我只是一个虾纸丫 提交于 2019-11-29 17:58:43
①中文题目 在一个给定的数组nums中,总是存在一个最大元素 。 查找数组中的最大元素是否至少是数组中每个其他数字的两倍。 如果是,则返回最大元素的索引,否则返回-1。 示例 1: 输入: nums = [3, 6, 1, 0] 输出: 1 解释: 6是最大的整数, 对于数组中的其他整数, 6大于数组中其他元素的两倍。6的索引是1, 所以我们返回1. 示例 2: 输入: nums = [1, 2, 3, 4] 输出: -1 解释: 4没有超过3的两倍大, 所以我们返回 -1. 提示: nums 的长度范围在[1, 50]. 每个 nums[i] 的整数范围在 [0, 100]. ②思路:今天这个题本来很简单的,但是我由于一个小地方的知识点错误,导致调了1个小时才发现问题所在。 整体来说,我做这个题的思路就是,将原数组复制为arr,对arr排升序,然后判断arr的最后一个元素是否大于等于倒数第二个元素的2倍。 如果是,那么开始遍历nums数组,看里面哪个元素跟arr的最后一个元素相等,若相等,则输出当前索引下标。 ③正确的代码 1 class Solution { 2 public int dominantIndex(int[] nums) { 3 int[] arr=new int[nums.length]; 4 for(int i=0;i<nums.length;i++) 5

数组小和

非 Y 不嫁゛ 提交于 2019-11-29 17:56:04
数组小和的定义如下: 例如,数组s=[1,3,5,2,4,6],在s[0]的左边小于或等于s[0]的数的和为0,在s[1]的左边小于或等于s[1]的数的和为1,在s[2]的左边小于或等于s[2]的数的和为1+3=4,在s[3]的左边小于或等于s[3]的数的和为1,在s[4]的左边小于或等于s[4]的数的和为1+3+2=6,在s[5]的左边小于或等于s[5]的数的和为1+3+5+2+4=15,所以s的小和为0+1+4+1+6+15=27。 给定一个数组s,实现函数返回s的小和。 public class SmallSum { public static void main(String[] args) { int [] arr = new int[] {1,3,5,2,4,6}; int smallSum = sort(arr, 0 , arr.length-1); System.out.println(smallSum); } public static int sort(int[] arr , int L , int R) { if(L == R) { return 0; } int mid = L+((R-L)>>1); return sort(arr,L,mid)+sort(arr,mid+1,R)+merge(arr,L,mid,R); } private static

python实现堆排序

倾然丶 夕夏残阳落幕 提交于 2019-11-29 17:33:36
直接放代码,对堆概念模糊者请自行查询! #python实现堆排序 def heapify ( arr , n , i ) : largest = i left = 2 * i + 1 right = 2 * i + 2 if left < n and arr [ largest ] < arr [ left ] : largest = left if right < n and arr [ largest ] < arr [ right ] : largest = right if largest != i : arr [ largest ] , arr [ i ] = arr [ i ] , arr [ largest ] #python是地址引用,交换 heapify ( arr , n , largest ) #下沉式调整 def heapsort ( arr ) : n = len ( arr ) for i in range ( n - 1 , - 1 , - 1 ) : heapify ( arr , n , i ) #将序列构造成大根堆 #把最大值交换到最后位置,再重新调整为堆,升序排列 for i in range ( n - 1 , 0 , - 1 ) : arr [ i ] , arr [ 0 ] = arr [ 0 ] , arr [ i ] heapify

JavaScript复习(2)

穿精又带淫゛_ 提交于 2019-11-29 17:22:16
函数 1.使用关键字function声明一个函数,如果有参数就传参,多个参数用逗号隔开 //函数声明 function name(num1,num2){ //方法体 } 2.函数不能声明返回值类型,即使有返回值,也不能声明返回值类型 3.函数只有在调用的时候才执行,只声明不调用是不会执行的 4.如果函数没有返回值,那么这个函数执行过后返回undefined function add(num){ if(num > 50){ return num + 10; } } alert(add(45)); //结果为:undefined 5.函数不能声明参数的数据类型 6.所有的函数都以小写字母开头 7.函数的参数个数不是严格要求的,调用时实参的个数可以不等于形参的个数,实参多余形参时以第一个实参为准 ,实参少于形参个数时为undefined function add(num){ if(num > 55){ return num + 5; } else{ return "成绩不合格"; } } alert(add(45,65)); //输出结果为:成绩不合格 alert(add(65,45)); //结果为:70 8.自定义的函数不能跟JavaScript系统函数重名 9.JavaScript中不存在重载,如果出现相同名字的函数,后面的会覆盖前面的 function add(num){

PHP数组基础知识总结以及排序

不打扰是莪最后的温柔 提交于 2019-11-29 17:18:34
最近刚刚实习,经常用到php的数组,所以总结一下,以后不用随时去乱搜。 一:基础知识 PHP支持数字索引数组和关联数组,关联数组允许使用更有意义的数据(如字符串)作为索引。以及允许间隔性地使用数组和字符串作为数组的索引。 1、数组定义: $arr = [1,2,3,4];//数字索引数组 php5.4以上提供的新方式 $arr = ['a'=>1,'b'=>2];//关联索引数组 $arr = array(1,2,3,4); $arr = array('a'=>1,'b'=>2); $arr = range(1,n);//自动创建1~n的数字数组 PHP的数组不需要预先初始化或创建,在第一次使用时就会自动的创建如: $arr['a'] = 1; $arr['b'] = 2; $arr['c'] = 3; 2、数组的遍历 for循环 只能用于有序的数字索引数组 for($i = 0;$i<count($arr);$i++){ echo $arr[$i]; } foreach for($arr as $key=>$value){ echo $key."--".$value; } each while($ele = each($arr)){ echo ele['key']."--".ele['value']; } list(常用) reset($arr);//重置指针 while

javascript基础知识--最基础的

安稳与你 提交于 2019-11-29 17:15:13
1.js的调试处理 -- arguments 获取参数所有的值 类似数组的对象 .length alert(11); console.log(11); console.log(prompt('name')); document.write("nihao"); 2.js组成部分 1、ECMAScript规定核心的语法 2、DOM(document object model):文档对象模型--js操作html的标签 3、BOM(browser object model):浏览器对象模型--js操作游览器 3.html中添加js代码 <script type="text/javascript" src="..."></script> <script type="text/javascript"></script> 4.数据类型 number 包括浮点型和整形 string 包括任意数字和浮点组成的序列 boolean true或者false undefine 不存在的变量或者已经存在没有赋值 null 通常没有值或者是空值 null是已经定义了的 对象 5.标识符 -- 变量名、函数名、属性名都属于标识符 6.数字查看变量类型 --typeof toString isNan var a=1; console.log(typeof a); var a=1; var b=1; var sum

js 数组

▼魔方 西西 提交于 2019-11-29 17:15:02
一、数组的声明: 1 /* 声明数组 */ 2 var arr1 = [];//数组字面量; 3 var arr2 = new Array();//通过系统内置的Array构造函数声明数组,一般不使用 4 var arr3 = Array();//可以创建数组,一般不使用 5 console.log(arr1.__proto__); 6 console.log(arr2.__proto__); 7 console.log(arr3.__proto__); //Array 8 //所有的对象都继承于 Array.prototype 对比与对象的声明: 1 /* 对象 */ 2 var obj1 = {};//字面量声明对象; 3 var obj2 = new Object();// 4 var obj3 = Object();// 5 console.log(obj1.__proto__); 6 console.log(obj2.__proto__); 7 console.log(obj3.__proto__);//Object 8 //所有的对象都继承于 Object.prototype 对比 对象的访问 1 var array = [1,2,3,4,5]; 2 //index 数组元素的下标(索引值) 3 var object = { 4 0:1, 5 1:2, 6 2:3, 7