函数内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 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复的数 ...
随机推荐
- Windows C盘扩容
工具:大白菜pe1.将F盘数据拷贝放其他盘,并格式化F盘.2.进入大白菜PE,使用DiskGenius工具,右键C盘图示->扩容->C盘,继续其他操作.(其中,需将F盘释放为未使用,然后将 ...
- MyBatis源码 核心配置解析 properties元素
XMLConfigBuilder的parseConfiguration(XNode)方法,用于解析配置文件 XMLConfigBuilder的propertiesElement(XNode)方法,用于 ...
- btcWallet系列之一-grpc模块
btcwallet对外服务 btcwallet除了像btcd对外提供rpc服务以外,还提供了grpc服务,同时grpc采用的是protobuf来实现. 这方便与不同语言进行交互,降低客户端代码编写量. ...
- 联想笔记本上Ubuntu无线网卡问题
可能有两个问题: 1.无无线网卡驱动 2.无线网卡驱动不能自动加载 问题1:无线网卡驱动 百度出网卡驱动iwlwifi-9000,如iwlwifi-9000-pu-b0-jf-b0-34.618819 ...
- 请用正则实现String.trim()
String.prototype.trim1=function(){ return this.replace(/(^\s*)|(\s*$)/g,""); }; 写一个functio ...
- 【BigData】Java基础_Eclipse配置自动补全new
需求描述 在使用Eclipse的时候,每次new一个对象,写起来比较麻烦,以下是配置Eclipse,然后使用快捷键补全new方法的步骤,此配置使用官方属于叫做:配置自动分配局部变量 配置步骤 打开Wi ...
- JS中 (function(){...})()立即执行函数
(function(){...})() (function(){...}()) 这是两种js立即执行函数的常见写法. 基本概念: 函数声明:function fname(){...}; 使用funct ...
- 配置keepalived支持nginx高可用
实验环境 序号 主机名 IP地址 1 nginx1 192.168.204.11 2 nginx2 192.168.204.12 安装nginx 安装nginx yum install -y epel ...
- [转帖]vagrant 添加带版本号的 box
vagrant 添加带版本号的 box https://www.jianshu.com/p/12cf1ecb224b 第三种好用 lnmpcomposerphp 阅读约 8 分钟 前言 众所周知,v ...
- Linux重启Mysql命令