var array = [
{
"name": "满意1",
"value": "100"
},
{
"name": "满意2",
"value": "20"
},
{
"name": "满意3",
"value": "80"
}
];
1. 获取最大值
let maxValue =Math.max.apply(Math, array.map(function(o) {
return o.value; // 需要比较的值
}))
2. 获取最小值
let minValue = Math.min.apply(Math, array.map(function(o) {
return o.value; // 需要比较的值
}))
3. 对象转json数组
let result = {1: "1979-01-01,1", 2: "1979-01-01,1"};
var arr = [];
for (var key in result) {
arr.push({name:key,value:result[key]})
}
// [{"name":"1","value":"1979-01-01,1"},{"name":"2","value":"1979-01-01,1"}]
4. 要找到对应的id的值
array.find(item => { return item.projectId=='fff'}).projectName;
5. 数组多条件排序
jsonStudents = [
{ name: "Dawson", totalScore: "197", Chinese: "100", math: "97" },
{ name: "HanMeiMei", totalScore: "196", Chinese: "99", math: "97" },
{ name: "LiLei", totalScore: "185", Chinese: "88", math: "97" },
{ name: "XiaoMing", totalScore: "196", Chinese: "96", math: "100" },
{ name: "Jim", totalScore: "196", Chinese: "98", math: "98" },
{ name: "Joy", totalScore: "198", Chinese: "99", math: "99" }
];
jsonStudents.sort(function(a, b) {
var value1 = a.totalScore,
value2 = b.totalScore;
//总分相同
if (value1 === value2) {
// 按语文分数降序排序
return b.Chinese - a.Chinese;
}
// 总分不同,降序排序
return value2 - value1;
});
- 两个数组对象去除相同的数据
let arr1 = [{uid:'1',name:'当当'},{uid:'2',name:'威威'} ]
let arr2 = [{id:'1',name:'当当',age:'20'},{id:'2',name:'多多',age:'23'},{id:'3',name:'丁丁',age:'24'}]
es6
let newArr = arr2 .filter((item) => {
return !arr1 .some(ele=>ele.uid===item.id)
});
es5
for (var i=0; i<arr2.length; i++) {
for (var j=0; j<arr1.length; j++) {
if (arr2[i].id == arr1[j].id) {
arr2.splice(i, 1);
}
}
}
- json数组根据id去重
const data2 = person.toppingData.reduce((preVal, curVal) => {
hash[curVal.diffId] ? '' : hash[curVal.diffId] = true && preVal.push(curVal);
return preVal
}, [])
// person.toppingData 为未去重的数组
// diffId 是数组每个json里面用来做判断的值