tips javascript(一)
tips javascript(一)
实现type函数用于识别标准类型和内置对象类型,语法如下: var t = type(obj);
function type(o){
if (o === null)
return 'null';
if (typeof o !== 'object')
return typeof o;
if (o instanceof Number)
return 'number'
if (o instanceof String)
return 'string'
if (o instanceof Date)
return 'date';
if (o instanceof Array)
return 'array';
if (o instanceof RegExp)
return 'regexp';
return 'object';
}
已知一数组,如何筛选出该数组中小于该数组平均数的值,并存入另一个数组
var arr = [1, 11, 33, 44, 55, 2, 11, 1, 1, 1];
//计算数组的平均值
var sum = 0;
for(var i=0,il=arr.length;i<il;i++){
sum = sum + arr[i];
}
console.log(sum);
sum = sum / il;
console.log(sum);
//取出不同的值
var newArr1 = [] , str = {};
for(var i=0,il=arr.length;i<il;i++){
var item = arr[i];
var key = typeof(item) + item;
// console.log(key);
if(str[key] !== 1){
newArr1.push(item);
str[key] = 1;
}
}
var arr1 = newArr1;
console.log(arr1);
//将小于平均数的值取出来,赋值给一个新数组
var newArr2 = [];
for(var i=0,il=arr1.length;i<il;i++){
if(arr[i]<sum){
newArr2.push(arr[i]);
}
}
console.log(newArr2);
//用冒泡排序方法对数组进行排序
for(var i=0,il=newArr2.length;i<il;i++){
for(var j=0,jl=newArr2.length;j<jl;j++){
if(newArr2[i]<newArr2[j]){
var temp = newArr2[i];
newArr2[i] = newArr2[j];
newArr2[j] = temp;
}
}
}
console.log(newArr2);
tips javascript(一)的更多相关文章
- [Tips] JavaScript 使用hash 对象传参
转自Web 前端开发修炼之道. 在JavaScript 中funciton 包含多个参数的时候,我们想要实现可选参数的功能,传很多个null 其实是个很讨厌的事情,这个时候就可以使用这个技巧. 具体见 ...
- [Tips + Javascript] Make a unique array
To make an array uniqued, we can use Set() from Javascript. const ary = ["a", "b" ...
- Tips:javascript 图片放大和取得尺寸
1)获取图片尺寸 <img src="http://img.my.csdn.net/uploads/201309/03/1378223257_7957.jpg" alt=&q ...
- tips: javascript 参数传递含有空格怎么办?
js 方法传参有时候会遇到空格,空格会报错,因为它会默认空格后是元素 解决方法就是使用 escape 和 unescape html: var title = escape(rowObject.tit ...
- JavaScript篇 深入理解JavaScript函数
JavaScript中的函数 1. 函数的定义 两种定义形式: 通过函数定义表达式来定义 通过函数声明语句来定义 函数声明语句定义一个函数 //计算阶乘的递归函数 function factorial ...
- JavaScript 对象创建
tips: JavaScript 除了null和undefined之外,其他变量都可以当做对象使用. JavaScript 的基本数据类型有:number boolean string null u ...
- ARTS Week 14
Jan 27, 2020 ~ Feb 2, 2020 Algorithm Problem 160.Intersection of Two Linked Lists(相交链表) 题目链接 题目描述:给定 ...
- ARTS Week 13
Jan 20, 2020 ~ Jan 26, 2020 Algorithm Problem 141 Linked List Cycle (环形链表) 题目链接 题目描述:给定一个链表,判断链表中是否存 ...
- vue3响应式模式设计原理
vue3响应式模式设计原理 为什么要关系vue3的设计原理?了解vue3构建原理,将有助于开发者更快速上手Vue3:同时可以提高Vue调试技能,可以快速定位错误 1.vue3对比vue2 vue2的原 ...
随机推荐
- 【转】升级Xcode6.3插件失效解决办法
1.打开终端,输入以下代码获取到DVTPlugInCompatibilityUUID defaults read /Applications/Xcode.app/Contents/I ...
- [MS bug]安装SQL Server 2008 错误:is not a valid login or you do not have permission
环境: Windows 7 sp1 x64. 问题描述: 安装到几乎要完成的时候爆出:is not a valid login or you do not have permission.安装失败. ...
- [salesforce] URLFOR function finally
While developing your Visualforce pages you may need to be able to obtain the URL of certain actions ...
- 多线程之ReentrantReadWriteLock
java5以后在java.util.concurrent包下,有很多的并发类,可以让我们摆脱java5时,笨重的写法来满足多线程,而且提供了更加丰富的使用场景能力 其中,在locks包下,提供了 Re ...
- U盘安装ubuntu,一直提示start booting from usb device…[转]
找到U盘中syslinux文件夹下的syslinux.cfg文件,在default vesamenu.c32前面加一个#号就可以了. 我的syslinux.cfg文件修改后如下,够简单吧!!!!建议用 ...
- 可能 delphi7 下稳定的最后一版本 GDIPLUS
可能 delphi7 下稳定的最后一版本 GDIPLUS 万一的 blog 说"终于, Delphi XE2 携带 GDI+ 库了 使用了较早的 http://www.progdigy.co ...
- Firefox终于返回到了Debian stable
6月8日,firefox 45.2以安全修复包的名义回到了Debian oldstable (即wheezy),两天以后,Debian 8 jessie里面也有了(https://packages.d ...
- 彻底解决Android SDK Manager更新慢的问题
Android SDK 下载速度慢,解决方法大概有两种.第一,FQ.这种方法比较彻底,但是要想有稳定的效果还的要花大价钱.第二,有些高人直接给了SDK中各软件的下载地址,直接下载速度非常快,下载后将包 ...
- 一种线程安全的handle
对象引用的正确性在多线程环境下是一个复杂的问题,请参考,处理由引用计数引起的泄漏.简单来说,我们应该尽量减少使用强引用,否则将有可能产生[处理由引用计数引起的泄漏]一文中描述的难以察觉的内存泄漏问题. ...
- [原]quick2.25让描边闪起来
本文教大家如何使用shader让描边动起来.实质就是间隔一定时间改变描边的颜色.难点:如何通过程序把颜色传给shader.想在quick2.25里面尝试的朋友,参考quick2.25精灵变灰配置一下环 ...