为啥我的函数向返回未定义的对象数组添加键和增量值
Posted
技术标签:
【中文标题】为啥我的函数向返回未定义的对象数组添加键和增量值【英文标题】:Why is my function for adding key and incremental values to array of objects returning undefined为什么我的函数向返回未定义的对象数组添加键和增量值 【发布时间】:2021-06-21 15:13:15 【问题描述】:关于我之前的问题:Add key and incremental values to array of objects
@ran.t 的解决方案效果很好。但是现在我正在尝试编写一个函数来重用该解决方案,我变得不确定。
无功能:
let arr_obj = [
name: 'Hermione',
order: 'books',
,
name: 'Harry',
order: 'brooms',
,
name: 'Ron',
order: 'food',
];
let order_size = 100;
arr_obj.forEach(d =>
d['order_size'] = order_size;
order_size -= 25;
);
console.log(arr_obj)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
使用函数调用(需要可重用性):
let arr_obj = [
name: 'Hermione',
order: 'books',
,
name: 'Harry',
order: 'brooms',
,
name: 'Ron',
order: 'food',
];
let order_size = 100;
const myFnc = (arr) =>
arr.forEach(d =>
d['order_size'] = order_size;
order_size -= 25;
);
console.log(myFnc(arr_obj));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
当我所做的只是将 forEach 放入函数中时,为什么会得到 undefined
?
【问题讨论】:
myFnc
没有return
语句,它修改了参数数组。
将return arr;
放在myFnc
的末尾或使用console.log(arr_obj)
@Barmar 谢谢,如果您将其添加为答案,我可以接受
有人已经发布了答案。
【参考方案1】:
你忘了回arr
,兄弟。
【讨论】:
以上是关于为啥我的函数向返回未定义的对象数组添加键和增量值的主要内容,如果未能解决你的问题,请参考以下文章