recursionGet(valueId) { console.log(this.logAssets) let setValues=this.logAssets let id = null; for (let index = 0; index < setValues.length; index += 1) { if (setValues[index].id === valueId) { id = setValues[index].name; break; } if (setValues[index].children instanceof Array && setValues[index].children.length > 0) { const text = recursionGet(setValues[index].children, valueId); if (text) return text; } } return id; },的正确写法
时间: 2024-02-10 21:14:20 浏览: 64
DWR 处理各种form表单Selectoption,table.doc
这段代码中有一个递归函数 `recursionGet`,但是在递归调用时,函数名没有加上 `this` 关键字,导致会出现 undefined 的错误。下面是正确的写法:
```
recursionGet(valueId) {
console.log(this.logAssets);
let setValues = this.logAssets;
let id = null;
for (let index = 0; index < setValues.length; index += 1) {
if (setValues[index].id === valueId) {
id = setValues[index].name;
break;
}
if (setValues[index].children instanceof Array && setValues[index].children.length > 0) {
const text = this.recursionGet(setValues[index].children, valueId);
if (text) {
return text;
}
}
}
return id;
},
```
在递归调用时,需要加上 `this` 关键字,以便正确找到函数。
阅读全文