index函数

JavaScript的数组操作

╄→гoц情女王★ 提交于 2019-12-03 07:40:43
JavaScript的数组操作 JavaScript数组也是对象,它使用单一的变量存储一系列的值。 数组和对象的区别 在JavaScript中,数组必须使用数字索引,对象可以使用命名索引。 数组是特殊类型的对象,具有特有的一些属性和方法。 如何区分数组和对象 方案1 ECMAScript5定义新方法Array.isArray() var arr = []; var obj = {}; console.log(Array.isArray(arr)); // true console.log(Array.isArray(obj)); // false 此方案不支持老的浏览器。 方案2 var arr = []; console.log(Object.prototype.toString.call(arr)); // [object Array] var obj = {}; console.log(Object.prototype.toString.call(obj)); // [object Object] 创建 使用字面量创建 var arr = []; 使用构造函数创建 var arr = new Array(); console.log(arr); // [] arr = new Array(2); console.log(arr); // [empty × 2]

js循环数组(总结)

穿精又带淫゛_ 提交于 2019-12-03 05:35:42
js循环数组(总结) 一、总结 一句话总结: for循环:for(j = 0,len=arr.length; j < len; j++) {} foreach循环:arr.forEach((item,index,array)=>{//执行代码}) forof遍历:for (var value of myArray) { } 1、for循环的简单优化:for(j = 0,len=arr.length; j < len; j++) {}? 使用临时变量,将长度缓存起来,避免重复获取数组长度,当数组较大时优化效果才会比较明显。 2、foreach循环注意:arr.forEach((item,index,array)=>{//执行代码})? 遍历数组中的每一项,没有返回值,对原数组没有影响,不支持IE 参数:value数组中的当前项, index当前项的索引, array原始数组; 数组中有几项,那么传递进去的匿名回调函数就需要执行几次; 二、js数组遍历方法总结 转自或参考:js数组遍历方法总结 https://www.cnblogs.com/woshidouzia/p/9304603.html 数组遍历方法 1.for循环 使用临时变量,将长度缓存起来,避免重复获取数组长度,当数组较大时优化效果才会比较明显。 for(j = 0,len=arr.length; j < len; j++

JS中的map

我的未来我决定 提交于 2019-12-03 04:22:54
定义和用法: map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。 map() 方法按照原始数组元素顺序依次处理元素。 注意: map() 不会对空数组进行检测。 注意: map() 不会改变原始数组。 语法: array.map(function(currentValue,index,arr), thisValue) 参数说明: 实例: var nums=[10,20,30]; nums.map(function(value,index,arr){ document.write('value值为:'+value); //10 20 30 document.write('index值为:'+index); //0 1 2 document.write('arr值为:'+arr); //[10,20,30] }) 1 array.map(function(currentValue,index,arr), thisValue) 来源: https://www.cnblogs.com/mica/p/11776876.html

python六剑客

扶醉桌前 提交于 2019-12-03 04:19:49
python六剑客map、filter、reduce、lambda、切片、推导列表 python最有特点的一行代码,所有代码均可以借用一行代码(目标) map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。 举例说明,比如我们有一个函数f(x)=x%2,要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map()实现 一个最简单的例子,如基于f(x) = x²,map()作用于list [1, 2, 3, 4, 5, 6, 7, 8, 9]后的结果如下:返回结果仍为list print(list(map(lambda x: x ** 2, [1, 2, 3, 4, 5, 6, 7, 8, 9]))) # output [1, 4, 9, 16, 25, 36, 49, 64, 81] 2、filter 两个参数(自定义函数名,列表)对列表中的元素过滤后输出 Python内建的filter()函数用于过滤序列。和map()类似,filter()也接收一个函数和一个序列。和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。 选择大于等于5的数字 print(list(filter

【狗书记录】第一部分 Flask简介

匿名 (未验证) 提交于 2019-12-03 00:22:01
本笔记只是个人记录,非指导、解惑类博客 客户端(例如Web 浏览器)把请求发送给Web 服务器,Web 服务器再把请求发送给Flask程序实例。处理URL 和函数之间关系的程序称为路由。 from flask import Flask app = Flask(__name__) @app.route('/') def index () : return '<h1>Hello World!</h1>' @app.route('/user/<name>') def user (name) : return '<h1>Hello, {}!</h1>' .format(name) if __name__ == "__main__" : app.run(debug= True ) index 函数称为视图函数(view function)。视图函数返回的响应可以是包含 HTML 的简单字符串,也可以是复杂的表.这个函数的返回值称为响应,是客户端接收到的内容 '/user/<name>' 尖括号中的内容就是动态部分,任何能匹配静态部分的URL 都会映射到这个路由上 Flask 使用上下文临时把某些对象变为全局可访问。有了上下文,就可以写出下面的视图函数: from flask import request app = Flask(__name__) @app.route('/') def

中间件

╄→尐↘猪︶ㄣ 提交于 2019-12-03 00:18:02
目录 为什么学习中间件? 中间件 什么是中间件? 中间件能做什么? 需要掌握的 自定义中间件 自定义一个中间件示例 process_request process_response process_exception process_template_response(用的比较少) 中间件的执行流程 中间件版登录验证 为什么学习中间件? 在前面的博客中已经学会了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面。我们通过给几个特定视图函数加装饰器实现了这个需求。但是以后添加的视图函数可能也需要加上装饰器,这样是不是稍微有点繁琐。 下面即将通过一些特点的方式实现控制全局的效果,减少自己写的代码。 中间件 什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。 但是由于其影响的是全局,所以需要谨慎使用,使用不当会影响性能。 说的直白一点中间件是帮助我们在视图函数执行之前和执行之后都可以做一些额外的操作,它本质上就是一个自定义类,类中定义了几个方法,Django框架会在请求的特定的时间去执行这些方法。 我们一直都在使用中间件,只是没有注意到而已,打开Django项目的Settings.py文件

javascript常用方法 - Array

こ雲淡風輕ζ 提交于 2019-12-03 00:18:01
//1.Aarry方法 // 1.1 Array.from(arrayLike[, mapFn[, thisArg]]) // @arrayLike 想要转换成数组的伪数组对象或可迭代对象。 // @mapFn 如果指定了该参数,新数组中的每个元素会执行该回调函数。 // @thisArg 可选参数,执行回调函数 mapFn 时 this 对象。 // 浅拷贝:从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。 console.log(Array.from('foo')); // expected output: Array ["f", "o", "o"] console.log(Array.from([1, 2, 3], x => x + x)); // expected output: Array [2, 4, 6] // Array.isArray(obj) // 于确定传递的值是否是一个 Array // Array.of(element0[, element1[, ...[, elementN]]]) // 创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。 Array.of(7); // [7] Array.of(7) 创建一个具有单个元素 7 的数组 Array.of(1, 2, 3); // [1, 2, 3] Array(7); // [ ,

JS 的5个不良编码习惯

匿名 (未验证) 提交于 2019-12-02 23:57:01
1.不要使用隐式类型转换 JavaScript是一种松散类型的语言。如果使用得当,这是一个好处,因为它给你带来了灵活性。 + - * / == === )在处理不同类型的操作数时会进行隐式转换。 if ( condition ){...} while ( condition ){...} 隐式地将条件转换为布尔值。 下面的示例依赖于类型的隐式转换,这种有时候会让人感到很困惑: console . log ( "2" + "1" ); // => "21" console . log ( "2" - "1" ); // => 1 console . log ( '' == 0 ); // => true console . log ( true == []); // -> false console . log ( true == ![]); // -> false 过度依赖隐式类型转换是一个坏习惯。首先,它使你的代码在边缘情况下不太稳定。其次,增加了引入难以重现和修复的bug的机会。 现在咱们实现一个获取对象属性的函数。如果属性不存在,函数返回一个默认值 function getProp ( object , propertyName , defaultValue ) { if (! object [ propertyName ]) { return defaultValue ;

JS练习-牛客网-数组练习14题

匿名 (未验证) 提交于 2019-12-02 23:56:01
1.很多人都使用过牛客网这个在线编程网站,下面是自己做的JS数组部分的练习,已通过网站和老师检查无误,分享给大家。 2.先说一下题目的位置:牛客网 https://www.nowcoder.com/activity/oj →在线编程→JS能力测评经典题 3.数组部分共14题,大部分有两种解法,一种用常规循环做,一种用Array对象的方法做。 <!DOCTYPE HTML> <html> <head> <title> index </title> <meta charset = "utf-8" > <meta name = "Author" content = "Helen" > <script> //共14题 //case1:找出元素 item 在给定数组 arr 中的位置,如果数组中存在 item,则返回元素在数组中的位置,否则返回 -1 // 解法一:通过自定义函数来解 function indexOf ( arr , item ) { for ( var i = 0 ; i < arr . length ; i ++){ if ( arr [ i ]=== item ){ return i ; } } //end for return - 1 ; } //解法二:直接通过函数方法来解 function indexOf ( arr , item ) { return arr .

二分法

匿名 (未验证) 提交于 2019-12-02 23:48:02
一、二分法 二分法:容器类型里面的数字必须有大小顺序,然后查找元素的时候一分为二,以中间为界看元素在哪边,多次二分后即可找到,提升效率 野生二分法:取名不能见名知意!!!#在列表中找某个元素 #在列表中找某个元素 l = [1,3,5,12,57,89,101,123,146,167,179,189,345] def get_num(l,target_num): if not l: print('你给的工资 这个任务怕是没法做') return # 获取列表中间的索引 print(l) middle_index = len(l) // 2 # 判断target_num跟middle_index对应的数字的大小 if target_num > l[middle_index]: # 切取列表右半部分 num_right = l[middle_index + 1:] # 再递归调用get_num函数 get_num(num_right,target_num) elif target_num < l[middle_index]: # 切取列表左半部分 num_left = l[0:middle_index] # 再递归调用get_num函数 get_num(num_left, target_num) else: print('find it',target_num) get_num(l