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);
上一篇:CentOS 5上Apache配置虚拟主机范例


下一篇:Combinations [LeetCode]