函数内this指向+排序+找出数组大小项+Math类
解决函数内this指向:
1,可以在函数外提前声明变量 _this/that = this
2,通过apply()和call()来修改函数内的this指向
二者区别:
用法是一样的,参数形式不一样 fn.call(obj,ab) fn.apply(obj,[a,b])
二者代表的是将函数内的this换成obj之后,然后把fn调用
3,bind修改函数内的this:
fn.bind(obj,a,b)只是替换了this,但不调用fn,返回的是函数
fn.bind(obj,a,b)()
找出数组中的最大项,最小项:
var arr=【45,26,15】
1,借助math中的max
var max=Math.max.apply(null,arr)
2,借助数组中的sort()
var fn=function(a,b){
return a-b //从小到大
return b-a //从大到小
}
var s=arr.sort(fn)
console.log(s[s.length-1])
3,假设法:比较法
var max=arr【0】
var num=null;
for(var i=1;i<arr.length;i++){
if(max<arr.length;i++){
num=max;
max=arr[i]
arr[i]=num;
}
}
console.log(max)
对数组排序的方法:
1,借助array中sort
var fn=function(a,b){
return a-b //从小到大
return b-a //从大到小
}
2,冒泡排序:
var arr=[11,24,36,56,2]
var num=null;
for(var i=arr.length-1;i>=0;i--){
for(var j=0;i<=j;j++){
if(arr[i]>arr[i+1]){
num=arr[i]
arr[i]=arr[i+1]
arr[i+1]=num
}
}
}
Math数值对象:
js自带的类:regexp,number,Boolean,function,math,date,array,string
math类,math对象,研究出一堆的属性和方法:
math.pi 180° 弧度的π
math.sqrt(16) 4 返回平方根
math.abs(x) 返回的绝对值
math.ceil(x) 返回x的上舍入
math.floor(x) 返回x的下舍入
math.max(a,b,c) 返回abc中的最大值,abc必须是数字
math.min(a,b,c) 返回abc中的最小值,abc必须是数字
math.random() 返回0-1之间的随机数
math.sin(x) 返回x的正弦值
math.cos(x) 返回x的余弦值
math.tan(x) 返回x的正切值
函数内this指向+排序+找出数组大小项+Math类的更多相关文章
- 9.11排序与查找(三)——给定一个排序后的数组,包括n个整数,但这个数组已被旋转过多次,找出数组中的某个元素
/** * 功能:给定一个排序后的数组.包括n个整数.但这个数组已被旋转过多次,次数不详.找出数组中的某个元素. * 能够假定数组元素原先是按从小到大的顺序排列的. */ /** * 思路:数组 ...
- 《剑指offer》第三_一题(找出数组中重复的数字,可改变数组)
// 面试题3(一):找出数组中重复的数字 // 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内.数组中某些数字是重复的,但不知道有几个数字重复了, // 也不知道每个数字重复了几次.请 ...
- 【Offer】[3-1] 【找出数组中重复的数字】
题目描述 思路 Java代码 代码链接 题目描述 在一个长度为n的数组里的所有数字都在0~n-1的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次. 请找出数组中任 ...
- AcWing 13. 找出数组中重复的数字
习题地址 https://www.acwing.com/solution/acwing/content/2919/. 题目描述给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0∼n−1 ...
- 一起来刷《剑指Offer》-- 题目一:找出数组中重复的数字(Python多种方法实现)
数组中重复的数字 最近在复习算法和数据结构(基于Python实现),然后看了Python的各种"序列"--比如列表List.元组Tuple和字符串String,后期会写一篇博客介绍 ...
- 剑指offer:1.找出数组中重复的数(java版)
数组中重复的数:题目:找出数组中重复的数,题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内.数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任 ...
- 【Java】 剑指offer(1) 找出数组中重复的数字
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 在一个长度为n的数组里的所有数字都在0到n-1的范围内.数组中某些数字 ...
- python找出数组中第二大的数
#!usr/bin/env python #encoding:utf-8 ''''' __Author__:沂水寒城 功能:找出数组中第2大的数字 ''' def find_Second_large_ ...
- 剑指offer.找出数组中重复的数字
题目: 给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0∼n−1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复的数 ...
随机推荐
- html两大布局
html布局之圣杯布局 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- 201871010101-陈来弟《面向对象程序设计(java)》第四周学习总结
...
- 三星固态Dell版的960g的sm863a硬盘
smart参数 CrystalDiskMark测试 AS SSD 测试 HD Tune Pro测试 DiskGenius查看 总结: 按我的测试,性能比sm865的还好,不知道咋回事,按三星给的参数这 ...
- FileZilla 连接站点 编辑配置文件
- mybatis框架-使用resultMap实现高级结果映射,collection属性的使用
需求:获取指定用户的用户信息和地址列表 修改user实体类 添加集合的引用. /** * 根绝用户id,获取该角色下的地址信息 * @param userID * @return */ public ...
- Comet OJ 夏季欢乐赛 完全k叉树
完全k叉树 https://cometoj.com/contest/59/problem/A?problem_id=2712 题目描述 欢迎报考JWJU!这里有丰富的社团活动,比如为梦想奋斗的ACM集 ...
- iview form表单数值类型校验「iview自定义form表单校验器」
摘录iview表单验证 Form 组件基于 sync-validator 实现的数据验证,给 Form 设置属性 rules,同时给需要验证的 FormItem 设置属性 prop 指向对应字段即可. ...
- Linux进程通信的几种方式总结
进程通信的目的 数据传输 一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间 共享数据 多个进程想要操作共享数据,一个进程对共享数据 通知事 一个进程需要向另一个或一组进程发 ...
- 奇技淫巧and板子
目录 求第\(k\)大的数 求长度不小于L的子段使之和最大 ST表 \(O(1)\)实现能查询栈中最小元素 二分 树和图的深度优先遍历和广度优先遍历 树的dfs序 求树的重心 图的联通块划分 拓扑排序 ...
- 【06月18日】A股滚动市净率PB历史新低排名
2010年01月01日 到 2019年06月18日 之间,滚动市净率历史新低排名. 上市三年以上的公司,2019年06月18日市净率在30以下的公司. 来源:A股滚动市净率(PB)历史新低排名. 1 ...