Javascript 运行到无法读取lodash的reduce函数中未定义的属性“push”
我是使用reduce函数和lodash库的初学者,我试图在这里将数组作为结果引用,但我遇到了如下情况Javascript 运行到无法读取lodash的reduce函数中未定义的属性“push”,javascript,arrays,object,ecmascript-6,lodash,Javascript,Arrays,Object,Ecmascript 6,Lodash,我是使用reduce函数和lodash库的初学者,我试图在这里将数组作为结果引用,但我遇到了如下情况 let result: Array<number> = []; result.push(1); // [1] _.reduce(array, function(result, el, idx) { if(el.node === array[child_index].parent) {
let result: Array<number> = [];
result.push(1); // [1]
_.reduce(array, function(result, el, idx) {
if(el.node === array[child_index].parent) {
result.push(parseInt(idx)); // [2]
return result;
}
}, result);
我可以问一下,为什么我能够在[1]处推送值,而我不能在[2]处推送值,实际上,我在[2]中遇到了这个错误消息。
TypeError:无法读取未定义的,
我使用lodash来实现reduce函数。我也试过了,它返回了同样的错误。如果有人有相同的问题,我可以得到一些建议吗?如果If语句不正确,您需要将结果作为默认操作返回,以防止出现错误:
_.reduce(array, function(result, el, idx) {
if (el.node === array[child_index].parent) {
result.push(parseInt(idx));
}
return result;
}, result);
不用担心@AnnaLee,总是乐于助人。如果我的回答解决了你的问题,请将其标记为已接受。