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高手的自己居然无从下手,一下狠心,我学!呵 ...
随机推荐
- python,redis简单订阅
python连接redis import redis r =redis.Redis(host='192.168.199.11',port = 6379 ,db = 0) r.publish('chan ...
- 应该知道的Linux技巧
作者:陈皓(花名:钻风) 这篇文章来源于Quroa的一个问答<What are some time-saving tips that every Linux user should know?& ...
- Analysis about different methods for reading and writing file in Java language
referee:Java Programming Tutorial Advanced Input & Output (I/O) JDK 1.4+ introduced the so-calle ...
- Oracle SQL CPU占用高
Oracle数据库经常会遇到CPU利用率很高的情况,这种时候大都是数据库中存在着严重性能低下的SQL语句,这种SQL语句大大的消耗了CPU资源,导致整个系统性能低下.当然,引起严重性能低下的SQL语句 ...
- Qt程序打包成exe可执行文件图文教程(图文并茂,且用到了filepack)
很多Qt爱好者想发布自己的Qt软件,但却发现在其他没有安装Qt SDK的机器上无法运行,这就是本文想要说明的问题.现在网上大部分软件都要发布自己开发的应用程序,都会打包到exe文件中,待安装完exe文 ...
- MyBatis使用DEMO及cache的使用心得
下面是一个简单的MyBatis使用DEMO. 整体结构 整体代码大致如下: POM依赖 需要引用两个jar包,一个是mybatis,另一个是mysql-connector-java,如果是maven工 ...
- rsyslog 走tcp通讯配置
发送端: local5.* @@192.168.32.76 front-end:/usr/local/nginx/logs# cat /etc/rsyslog.conf 日志服务器端配置: # Pro ...
- cocos2dx mac下搭建android开发环境
1)下载eclipse 地址:http://www.eclipse.org/downloads/ 2)安装adt 打开eclipse,菜单:help->install new software ...
- Sonar入门学习
最近在学习Sonar,配置了好几天,才搭建起来环境,为自己的学习能力感到汗颜,赶紧在此记录一下,所谓好记性不如烂笔头. 1.Sonar介绍 Sonar是一个用于代码质量管理的开源平台,用于管理Java ...
- 教你使用python获得字符串的md5值
最近需要使用python获取字符串的md5值. 今天把代码贴出来和大家分享一下. 01 #!/usr/bin/env python 02 # -*- coding: cp936 -*- 03 impo ...