需求:从一个对象数组中的某一个属性组成新数组,然后比较大小 示例数组://原始数组 expmArr = [{name: "zhangsan", age: "18"},{name: "lisi", age: "20"},{name: "wangwu", age: "17"},{name: "zhaoliu", age: "19"}] //生成新数值 arrNew = ["18", "20", "17", "19"]
- 实现如下:
//方法一
let arrNew = []; //定义数组
expmArr.forEach(rows => {
arrNew.push(rows.age);
});
//方法二
let arrNew= expmArr.map(item => {
return item.age;
});
- 比较大小
1.es6拓展运算符
Math.max(...arrNew)
2.es5apply方法
Math.max.apply(null,arrNew);
//一维数组
alert(Math.max.apply(null, arrNew));//最大值
alert(Math.min.apply(null, arrNew));//最小值
//多维数组
var a=[1,2,3,[5,6],[1,4,8]];
var newa=a.join(",").split(",");//转化为一维数组
alert(Math.max.apply(null,newa));//最大值
alert(Math.min.apply(null,newa));//最小值
3.for循环
let max = arrNew[0]
for(let i = 0; i < arrNew.length - 1; i++) {
max = max > arrNew[i+1] ? max : arrNew[i+1]
}
//
var arr = [9,8,55,66,49,68,109,55,33,6,2,1];
var max = arr[0];
function findMax( i ){
if( i == arr.length ) return max;
if( max < arr[i] ) max = arr[i];
findMax(i+1);
}
findMax(1);
console.log(max);
//
var arr = [9,8,55,66,49,68,109,55,33,6,2,1];
var max = arr[0];
for(var i = 1; i < arr.length; i++){
if( max < arr[i] ){
max = arr[i];
}
}
console.log(max);
4.sort方法
arr.sort((num1. num2) => {
return num1 - num2 < 0
})
arr[0]
5.reduce方法
arr.reduce((num1, num2) => {
return num1 > num2 ? num1 : num2
})
6.冒泡排序(从小到大排列)
for (var i = 0; i < arrNew.length - 1; i++){
for (var j = 0; j < arrNew.length - 1 - i; j++) {
if (arrNew[j] > arrNew[j + 1]) {
var temp = arrNew[j];
arrNew[j] = arrNew[j + 1];
arrNew[j + 1] = temp;
}
}
}
js提取对象数组中的某一个属性组成新数组 - 爱就码上行动 - 博客园
小程序中不能使用数组的forEach()循环方法吗? | 微信开放社区
- 时间数组 找出最大的元素值
let timeArry = ["2022-02-24 17:01:02","2022-02-26 07:58:02", "2022-02-22 17:01:02", "2022-02-24 17:09:02", "2022-02-25 17:58:02","2022-02-25 15:58:02", "2022-02-23 17:08:02"]; //定义时间数组
console.log("时间数组", timeArry);
// let maxq = timeArry[0];
// for (let i = 0; i < timeArry.length - 1; i++) {
// maxq = maxq < timeArry[i + 1] ? timeArry[i + 1] : maxq
// console.log("121321",maxq)
// }
var start = timeArry[0];
var end = timeArry[timeArry.length - 1];
console.log("时间数组第一个", start);
console.log("时间数组最后一个", end);
//方法一
for (var i = 0; i < timeArry.length - 1; i++) {
for (var j = 0; j < timeArry.length - 1 - i; j++) {
if (timeArry[j] > timeArry[j + 1]) {
var temp = timeArry[j];
timeArry[j] = timeArry[j + 1];
timeArry[j + 1] = temp;
}
}
}
var lastTime= timeArry[timeArry.length - 1];
console.log("lastTime"+lastTime);
//通过for循环获取对比次数
var max1 = timeArry[0]; //对比结果是最大值
var min = timeArry[0]; //对比结果是最小值
for (var i = 0; i < timeArry.length; i++) {
// 最大值
if (max1 < timeArry[i]) {
//通过if判断把最大值赋给max;
max1 = timeArry[i];
}
// 最小值
if (min > timeArry[i]) {
//通过if判断把最小值赋给min;
min = timeArry[i];
}
}
console.log("最大值", max1);
console.log("最小值", min);
//方法二
//找出时间数组中最大的元素值
let max = timeArry[0];
for (let i = 0; i < timeArry.length - 1; i++) {
max = max < timeArry[i + 1] ? timeArry[i + 1] : max
}
//for (let i = 0; i < timeArry.length - 1; i++) {
//max = max > timeArry[i + 1] ? timeArry : timeArry[i + 1]
//}
console.log("max", max);
- js 获取当前时间
//获取当前时间
var currentTime = new Date();
console.log("当前时间:", currentTime);