数组遍历对象的item去掉某一个item对象变成null
2021-04-22 06:29
标签:nts oss com rate ide tco 判断 put 去掉 var arr=[{obj:‘1‘},{obj:‘2‘}] 遍历查找arr的lostpower.lostList下item中所有item的power都是null的项对于arr的索引集合。 数组遍历对象的item去掉某一个item对象变成null 标签:nts oss com rate ide tco 判断 put 去掉 原文地址:https://www.cnblogs.com/xiaoyaoweb/p/13278468.html
类似以上数组进行条件判断之后变成 [{obj:‘1‘,null}] 这种数组。const arr = [
{
‘date‘: ‘2020-04-19‘,
‘genIntegrated‘: null,
‘complantPowerRate‘: null,
‘dayPowerMaxTime‘: null,
‘stationAvailability‘: null,
‘genPlantConsume‘: null,
‘integratedLostEH‘: ‘0.0000‘,
‘ggg‘: null,
‘carbonDioxide‘: ‘647376000.0000‘,
‘comPlantPower‘: null,
‘slopeAccRadiationSum‘: ‘24.32‘,
‘plantLossRate‘: null,
‘genInternet‘: null,
‘resourceInditor‘: null,
‘total‘: ‘0.8928‘,
‘theoryPower‘: ‘34483.5876‘,
‘topSunshineHours‘: ‘6.7562‘,
‘pvMatrixLossHours‘: ‘0.0000‘,
‘yyy‘: null,
‘yyyyy‘: null,
‘stationName‘: ‘永仁‘,
‘genInverter‘: ‘25.8950‘,
‘id‘: 20200419,
‘buyPower‘: null,
‘inverterLostEH‘: ‘0.0000‘,
‘resourceValue‘: ‘0.03‘,
‘comPR‘: null,
‘plantPowerRate‘: null,
‘markCoal‘: ‘259729588.7663‘,
‘internetLostEH‘: ‘0.0000‘,
‘powerInditor‘: null,
‘jjjj‘: null,
‘outputPowerMax‘: ‘43.92‘,
‘lostList‘: [
{
‘name‘: ‘光伏设备缺陷‘,
‘power‘: null,
},
{
‘name‘: ‘其他未查明‘,
‘power‘: ‘0.1‘,
},
{
‘name‘: ‘厂外因素‘,
‘power‘: null,
},
{
‘name‘: ‘变电设备缺陷‘,
‘power‘: null,
},
{
‘name‘: ‘外部因素‘,
‘power‘: null,
},
{
‘name‘: ‘未查明降容‘,
‘power‘: ‘0.2‘,
},
{
‘name‘: ‘计划停运‘,
‘power‘: ‘0.3‘,
},
{
‘name‘: ‘设备故障‘,
‘power‘: ‘0.4‘,
},
{
‘name‘: ‘限电‘,
‘power‘: null,
},
],
‘ttt‘: null,
‘equivalentHours‘: ‘5.0735‘,
‘dayPlantUsePower‘: null,
‘lostPower‘: {
‘total‘: ‘0.8928‘,
‘lostList‘: [
{
‘name‘: ‘光伏设备缺陷‘,
‘power‘: null,
},
{
‘name‘: ‘其他未查明‘,
‘power‘: ‘0.2232‘,
},
{
‘name‘: ‘厂外因素‘,
‘power‘: null,
},
{
‘name‘: ‘变电设备缺陷‘,
‘power‘: null,
},
{
‘name‘: ‘外部因素‘,
‘power‘: null,
},
{
‘name‘: ‘未查明降容‘,
‘power‘: ‘0.2232‘,
},
{
‘name‘: ‘计划停运‘,
‘power‘: ‘0.2232‘,
},
{
‘name‘: ‘设备故障‘,
‘power‘: null,
},
{
‘name‘: ‘限电‘,
‘power‘: null,
},
],
},
},
{
‘date‘: ‘2020-04-20‘,
‘genIntegrated‘: null,
‘complantPowerRate‘: null,
‘dayPowerMaxTime‘: null,
‘stationAvailability‘: null,
‘genPlantConsume‘: null,
‘integratedLostEH‘: ‘0.0000‘,
‘ggg‘: null,
‘carbonDioxide‘: ‘689398750.0000‘,
‘comPlantPower‘: null,
‘slopeAccRadiationSum‘: ‘26.31‘,
‘plantLossRate‘: null,
‘genInternet‘: null,
‘resourceInditor‘: null,
‘total‘: ‘0.8928‘,
‘theoryPower‘: ‘37296.3918‘,
‘topSunshineHours‘: ‘7.3073‘,
‘pvMatrixLossHours‘: ‘0.0000‘,
‘yyy‘: null,
‘yyyyy‘: null,
‘stationName‘: ‘永仁‘,
‘genInverter‘: ‘27.5760‘,
‘id‘: 20200420,
‘buyPower‘: null,
‘inverterLostEH‘: ‘0.0000‘,
‘resourceValue‘: ‘0.03‘,
‘comPR‘: null,
‘plantPowerRate‘: null,
‘markCoal‘: ‘276589267.8034‘,
‘internetLostEH‘: ‘0.0000‘,
‘powerInditor‘: null,
‘jjjj‘: null,
‘outputPowerMax‘: ‘41.54‘,
‘lostList‘: [
{
‘name‘: ‘光伏设备缺陷‘,
‘power‘: ‘0.2232‘,
},
{
‘name‘: ‘其他未查明‘,
‘power‘: null,
},
{
‘name‘: ‘厂外因素‘,
‘power‘: ‘0.2232‘,
},
{
‘name‘: ‘变电设备缺陷‘,
‘power‘: ‘0.2232‘,
},
{
‘name‘: ‘外部因素‘,
‘power‘: null,
},
{
‘name‘: ‘未查明降容‘,
‘power‘: null,
},
{
‘name‘: ‘计划停运‘,
‘power‘: null,
},
{
‘name‘: ‘设备故障‘,
‘power‘: null,
},
{
‘name‘: ‘限电‘,
‘power‘: ‘0.2232‘,
},
],
‘ttt‘: null,
‘equivalentHours‘: ‘5.4028‘,
‘dayPlantUsePower‘: null,
‘lostPower‘: {
‘total‘: ‘0.8928‘,
‘lostList‘: [
{
‘name‘: ‘光伏设备缺陷‘,
‘power‘: ‘0.2232‘,
},
{
‘name‘: ‘其他未查明‘,
‘power‘: null,
},
{
‘name‘: ‘厂外因素‘,
‘power‘: ‘0.2232‘,
},
{
‘name‘: ‘变电设备缺陷‘,
‘power‘: ‘0.2232‘,
},
{
‘name‘: ‘外部因素‘,
‘power‘: null,
},
{
‘name‘: ‘未查明降容‘,
‘power‘: null,
},
{
‘name‘: ‘计划停运‘,
‘power‘: null,
},
{
‘name‘: ‘设备故障‘,
‘power‘: null,
},
{
‘name‘: ‘限电‘,
‘power‘: ‘0.2232‘,
},
],
},
},
];
var newArr = [];
arr.map((item, index) => {
newArr.push(...item.lostPower.lostList);
});
console.log(newArr, ‘dddd‘);
const a = newArr.filter(one => !one.power);
var map = {};
//循环查找
for (let i = 0; i ) {
//数组里的i个元素
var v = a[i].name;
var v1 = a[i].power;
//将数组的i个元素作为map对象的属性查看其属性值
var counts = map[v];
//如果map对象没有该属性,则设置该属性的值为1,有的话在其基础上再+1
if (counts && map[v1] == null) {
map[v] += 1;
} else {
map[v] = 1;
}
}
console.log(map);
var end = [];
for (const k in map) {
if (map[k] == arr.length) {
end.push(k);
}
}
console.log(end);
const endArr = arr.map((item) => {
const newItem = item.lostPower.lostList.map(one => {
if (end.indexOf(one.name) > -1) {
one = null;
}
return one;
});
return newItem;
});
console.log(endArr);
var endIndex = [];
endArr[0].map((item, index) => {
if (!item) {
endIndex.push(index);
}
});
console.log(endIndex);
上一篇:关于Python中的None
文章标题:数组遍历对象的item去掉某一个item对象变成null
文章链接:http://soscw.com/index.php/essay/77958.html