js数组练习
//查找数组对象中 age 大于 18 对象
function filterAdult(arr) {
return arr.filter(function(item, index, array) {
return (item.age > 18);
});
}
filterAdult([
{age: 19, name:'Jack'},
{age: 5, name:'Apple'},
{age: 12, name:'Lynn'},
{age: 25, name:'David'}
]); //判断数组中是否所有的数字都大于 0
function isAllNumPosive(arr) {
return arr.every(function(item, index, array) {
if (typeof item === "number") {
return (item > 0);
} else {
return true;
}
});
}
isAllNumPosive([1, 2, 3, 4]); // 输出 true
isAllNumPosive([1, 2, 3, 4, -1]); // 输出 false
isAllNumPosive([1, 2, 3, 4, 'a', {a:3}]); // 输出 true //改变传入的数组,将数组中第 n(从 0 开始算 ) 个元素放到数组的开头
function putFirst(arr, index) {
var item = arr.splice(index, 1);
arr.unshift(item[0]);
return arr;
}
var arr = [1, 2, 3, 4];
putFirst(arr, 2); //将数组中数字内容求和
function sum(arr) {
var sum = 0;
for (i in arr) {
if (typeof arr[i] === 'number') {
sum += arr[i];
}
}
return sum;
}
sum([1, 2, 3, 4]); // 输出 10
sum(['a', 1, 2, {a:3}, 3, 4, 1.2]); // 输出 11.2 //将数组元素按 age 字段的值,从小到大排序
function sortAge(arr) {
return arr.sort(function(v1, v2) {
if (v1.age < v2.age) {
return -1;
} else {
return 1;
}
});
}
sortAge([
{age: 19, name:'Jack'},
{age: 5, name:'Apple'},
{age: 12, name:'Lynn'},
{age: 25, name:'David'}
]); //将数组元素去重,其中数组元素均为基本类性
function uniq(arr) {
var newArr = [];
var isUniq = true;
for (i in arr) {
for (j in newArr) {
if (arr[i] === newArr[j]) {
isUniq = false;
}
}
if (isUniq) {
newArr.push(arr[i]);
} else {
isUniq = true;
}
}
return newArr;
}
uniq([1,2,2,3,4,4,4,4]); // 输出 [1,2,3,4]
uniq([1,2,'M','e','r', 'r', 'y']); // 输出 [1,2,'M','e','r','y'] //将数组内容乱序
function random(arr) {
return arr.sort(function() {
return (Math.random()>0.5?-1:1);
})
}
random([1,2,3,4]); //未解决!!!!
// 将 arguments 对象转换成数组
function toArray(obj) {
var array = [];
for (i in obj) {
array.push(obj[i]);
}
return array;
}
(function(){
var arr = toArray(arguments);
Array.isArray(arr);
})(1, 2);
js数组练习的更多相关文章
- 小兔JS教程(四)-- 彻底攻略JS数组
在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...
- js数组学习整理
原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...
- 转→js数组遍历 千万不要使用for...in...
看到一篇内容还不错,但是排版实在糟糕, 逼死强迫症患者啊,直接拉下去找原文连接,找到了,但是已经消失了···500错误... 第一次因为实在看不下去一篇博客的排版, 为了排版而转载... 转载地址:h ...
- js数组操作大全
原文(http://www.cnblogs.com/webhotel/archive/2010/12/21/1912732.html) 用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简 ...
- js数组去重的4种方法
js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.inde ...
- js 数组处理函数
本文转载自有有<js 数组处理函数> concat 将参数列表连接到原数组后面形成一个新的数组并返回,原有数组不受影响. var arr = ["a","b& ...
- js 数组赋值问题 :值传递还是引用?
转载于知乎var a = [1,2,3]; var b = a; a = [4,5,6]; alert(b); //[1,2,3] 面试时被问到这样一个问题,竟然从来没试过... 当时直接的理解,数组 ...
- JS数组方法汇总 array数组元素的添加和删除
js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^ var arr = new Array(); arr[0] = "aaa"; arr[ ...
- js数组操作
用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学! ...
- js数组操作【转载】
用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多,自以为js高手的自己居然无从下手,一下狠心,我学!呵 ...
随机推荐
- jQuery Validate W3C内容
导入 js 库 <script src="../js/jquery.js" type="text/javascript"></script&g ...
- DOCTYPE声明的几种类型
DOCTYPE声明的几种类型 DOCTYPE 声明决定着浏览器怎么去解析和渲染当前页面,所以对于页面来说是很重要的. HTML5时代,统一用 <!DOCTYPE html> 这样简单的方式 ...
- 直接调用类成员函数地址(用汇编取类成员函数的地址,各VS版本还有所不同)
在C++中,成员函数的指针是个比较特殊的东西.对普通的函数指针来说,可以视为一个地址,在需要的时候可以任意转换并直接调用.但对成员函数来说,常规类型转换是通不过编译的,调用的时候也必须采用特殊的语法. ...
- Oracle的TPCC测试,原来也是个作弊的东西...
http://www.oaktable.net/content/sorted-hash-clusters-rip 根据Jonathan Lewis老先生的测试实例,发觉cluster 的sort功能, ...
- CCNA实验(10) -- Access List
使用包过滤技术在路由器上读取三层及四层报头的信息如源地址.目的地址.源端口.目的端口根据预先定义好的规则对包进行过滤 三种类型:1.标准ACL:表号范围1-99或1300-1999.仅对源IP地址进行 ...
- Microsoft Azure 负载平衡服务
Microsoft Azure 为在其中托管的虚拟机(IaaS) 和云服务(PaaS) 提供负载平衡服务.负载平衡支持应用程序伸缩,并且提供应用程序故障恢复以及其他优势. 可以通过以下方式访问负 ...
- Android 流媒体系列(一)
Android 设置铃声分析 代码其实没有几行,这里简单记录下学习的过程. Android系统启动时会扫描系统与SD卡中的对媒体文件,分别存入数据库sqlite中,以contentProvider ...
- 翻纸牌游戏(dfs回溯)
翻纸牌游戏 Time Limit : 9000/3000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submiss ...
- sonix uvc驱动的加入 RT5350支持H264
依据sonix提供的驱动,须要在内核下进行配置,以加入到内核或与模块的方式进行编译: 1.makefile中加入驱动的文件夹,尽量保持和原有的一致, obj-$(CONFIG_USB_SN9C102) ...
- 延迟N秒执行某个方法
[self performSelector:<#(nonnull SEL)#> withObject:<#(nullable id)#> afterDelay:<#(NS ...