需求:做工作流项目时,需将节点数据取出,但是数据不是数组格式,不好取数据,转换为数组,
关键代码:
Object.keys(nodeArr[j]) 获取数组名
obj[keyname].type 获取对象属性
1.数据
2.代码
function showAllNode(obj, nodeName, lines) {
console.log(obj);//转换前
let nodeArr = [], lineArr = [], html = "";
for (let i in obj) {
let o = {};
o[i] = obj[i];
nodeArr.push(o)
}
console.log(nodeArr);// 转换后
for (let i in lines) {
let o = {};
o[i] = lines[i];
lineArr.push(o)
}
console.log(nodeName);
let flowNode = [];
let nowNodeIndex = "";
// 找出开始节点,获取整个流程
for (let j in nodeArr) {
if (j < nodeArr.length) {
let keyname = Object.keys(nodeArr[j]);// 数组名
if (obj[keyname].type == "start") {// 取原对象的属性
getNodeArr(obj[keyname].id, lineArr, lines);
for (let i in nodeArrOrder) {
if (nodeArrOrder[i] == nodeName) {
nowNodeIndex = i;
}
if (i < nodeArrOrder.length) {
console.log(obj[nodeArrOrder[i]].name);
flowNode.push(obj[nodeArrOrder[i]].name);
}
}
}
}
}
}