函数内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 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复的数 ...
随机推荐
- Palindrome Mouse(2019年牛客多校第六场C题+回文树+树状数组)
目录 题目链接 题意 思路 代码 题目链接 传送门 题意 问\(s\)串中所有本质不同的回文子串中有多少对回文子串满足\(a\)是\(b\)的子串. 思路 参考代码:传送门 本质不同的回文子串肯定是要 ...
- 织梦dedecms后台文件media_add.php任意上传漏洞解决办法
织梦在安装到阿里云服务器后阿里云后台会提示media_add.php后台文件任意上传漏洞,引起的文件是后台管理目录下的media_add.php文件,下面跟大家分享一下这个漏洞的修复方法: 首先找到并 ...
- go处理XML
XML 数据格式 对于如下的XML: <Person> <FirstName>Laura</FirstName> <LastName>Lynn</ ...
- react使用ant design pro时的滑动图片组件
react的滑动图片验证,是基于https://segmentfault.com/a/1190000018309458?utm_source=tag-newest做的修改,改动的主要有以下几点: 1. ...
- C# 不包含 AsEnumerable 的定义
引用 System.Data.DataSetExtensions 引用右键 ->添加引用 ->搜索 DataSetExtensions ->添加 注意版本
- Windbg Scratch Pad(便笺簿)窗口的使用
“便笺簿”窗口是一个剪贴板,您可以在其中键入和保存文本. 打开便笺簿 通过菜单View--->Scratch Pad 通过快捷键Alt+8 通过工具栏 使用便笺簿 用上面的方式打开的窗口如下: ...
- Asp.Net报https请求报传输流收到意外的 EOF 或 0 个字节
网上搜索,都说是.net framework版本太低,改为.net 4.5以上版本即可.于是使用vs2017环境测试了下,使用.net framework4.5版本确实可以正常返回结果,低于这个版本就 ...
- ajax和json的优缺点
ajax:AJAX全称是"Asynchronous JavaScript and XML"(异步Javascript和XML),是一种创建交互式网页应用的网页开发技术. 优点: 1 ...
- document.write和innerHTML的区别?
document.write是直接重写整个页面,innerHTML针对所属DOM节点进行重写,效率优于document.write.
- postman使用--Monitor
前戏 现在我们已经能完成接口的批量执行,添加断言,数据驱动,设置变量等等方法.但是有一天,用户反应说我们的网站访问不了了.这时候,那帮程序猿查日志的查日志,看数据库的看数据库,找到原因在发布到线上已经 ...