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高手的自己居然无从下手,一下狠心,我学!呵 ...
随机推荐
- ThinkPHP第二十五天(自动完成、用户名密码PHP正则、移位或加密函数)
1.ThinkPHP自动完成功能 跟昨天的自动验证功能类似,也是需要在自定义的UserModel类,进行使用. 使用方法:定义$_auto属性 $_auto = array( array(完成字段,完 ...
- Tic-Tac-Toe游戏
#Tic-Tac-Toe #机器人和人类下井字棋 #全局变量 import random X = "X" O = "O" EMPTY = " &quo ...
- yii2.0 控制器方法 视图表单 Form表单处理
假设我们在ArticleController.php下面的actionForm方法中来处理提交的表单 新建立一个 views/Article/article-form.php文件用来作为输入表单 &l ...
- 有一个警告:Could not open/create prefs root node
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. 虽然程序也能正常运 ...
- [LeetCode]题解(python):139-Word Break
题目来源: https://leetcode.com/problems/word-break/ 题意分析: 给定一个字符串s和一个字典dict,判断s是不是由字典dict里面的元素组成的. 题目思路: ...
- python之面向对象那点事
一.类与对象 1.什么是类?类,顾名思义,就是具体相同属性的同一类事物的统称及抽象.对象,指是就是具体的抽象类的实例 以上的说法是不是看起来有点云里来雾里去呢.没错,专业的解释总是让人难以理解,这就是 ...
- java axis web service
编写 java调用web service的客户端比较简单,其中webservice为上一篇gsoap创建的server. package clientTest; import java.rmi.Rem ...
- 深入剖析PE文件
不赖猴的笔记,转载请注明出处. 深入剖析PE文件 PE文件是Win32的原生文件格式.每一个Win32可执行文件都遵循PE文件格式.对PE文件格式的了解可以加深你对Win32系统的深入理解. 一. ...
- crtmpserver初探
前言 Adobe的FMS(Flash Media Server)是很好用.但对应着分级授权的是money和有限功能开放.商业的东西既然用不起,也阻碍了我们的技术进步,那就只能求助于开源社区 ...
- php socket 超时设置
1.php创建socket的方法和设置超时的方法,贴出来分享一下 //如果$waitAckSec=0,则返回成功发送的字节�? //如果$waitAckSec大于0,则返回发送后接收到得内容 //任何 ...