- 要判断一个变量是否是一个对象,并且该对象包含至少一个属性,可以使用以下代码
function isObjectWithAttributes(data) {
return data && typeof data === 'object' && !Array.isArray(data) && Object.keys(data).length > 0;
}
用法:
const obj1 = {
key: 'value'
};
const obj2 = {};
const obj3 = null;
const obj4 = [];
console.log(isObjectWithAttributes(obj1));
console.log(isObjectWithAttributes(obj2));
console.log(isObjectWithAttributes(obj3));
console.log(isObjectWithAttributes(obj4));
- 要判断一个变量是否为数组,并且该数组不为空,你可以使用以下代码:
function isNonEmptyArray(data) {
return Array.isArray(data) && data.length > 0;
}
用法:
const arr1 = [1, 2, 3];
const arr2 = [];
const arr3 = 'not an array';
const arr4 = null;
console.log(isNonEmptyArray(arr1));
console.log(isNonEmptyArray(arr2));
console.log(isNonEmptyArray(arr3));
console.log(isNonEmptyArray(arr4));
- Object.entries 转换后端数据结构
const keyValue = {
1: "环境构建逻辑示意图",
2: "现场照片",
3: "网络环境情况",
4: "设备环境情况",
5: "检测车辆或BMS工装情况",
};
function detailFunc(resData) {
return Object.entries(resData).map(([key, value]) => {
const itemObj = value[0];
const {
id,
reportId,
envirDescribe,
environmentType,
photoUrl,
photoComment,
} = itemObj;
return {
id,
reportId,
envirDescribe,
environmentType: keyValue[environmentType],
environmentTypeTrueValue: environmentType,
photoList: photoUrl ?
value.map((item) => ({
id: item.id,
reportId,
environmentType,
envirDescribe,
photoId: item.photoId,
url: `/ftp/test/image?remoteFilePath=${item.photoUrl}`,
photoUrl: item.photoUrl,
photoComment: item.photoComment,
})) : [],
};
});
}
用法:
let obj = {
1: [{
id: "1851426278631870465",
reportId: "1851426278619287554",
environmentType: 1,
envirDescribe: "",
photoId: "207",
photoUrl: "英飞源/2024103008460001/01.png",
photoComment: "一",
},
{
id: "1851426278631870465",
reportId: "1851426278619287554",
environmentType: 1,
envirDescribe: "",
photoId: "208",
photoUrl: "英飞源/2024103008460001/02.jpeg",
photoComment: "二",
},
{
id: "1851426278631870465",
reportId: "1851426278619287554",
environmentType: 1,
envirDescribe: "",
photoId: "209",
photoUrl: "英飞源/2024103008460001/03.jpeg",
photoComment: "三",
},
],
2: [{
id: "1851426278631870466",
reportId: "1851426278619287554",
environmentType: 2,
envirDescribe: "",
photoId: null,
photoUrl: null,
photoComment: null,
}, ],
3: [{
id: "1851426278631870467",
reportId: "1851426278619287554",
environmentType: 3,
envirDescribe: "",
photoId: null,
photoUrl: null,
photoComment: null,
}, ],
4: [{
id: "1851426278631870468",
reportId: "1851426278619287554",
environmentType: 4,
envirDescribe: "",
photoId: null,
photoUrl: null,
photoComment: null,
}, ],
5: [{
id: "1851426278631870469",
reportId: "1851426278619287554",
environmentType: 5,
envirDescribe: "",
photoId: null,
photoUrl: null,
photoComment: null,
}, ],
};
let result = detailFunc(obj);
console.log("result", result);