我正在学习JavaScript,现在我遇到了一些数组函数的问题,特别是forEach方法。JS - Array for each方法clarifyiton
'use strict';
var business = [
{
name: 'Red Apple',
distance: 2,
price: 3,
rating: 1
},
{
name: 'Zoe',
distance: 1,
price: 1,
rating: 5
},
{
name: 'Everything Pizza',
distance: 6,
price: 1,
rating: 2
},
{
name: 'Salad Place',
distance: 2,
price: 2,
rating: 4
},
{
name: 'Yumm',
distance: 5,
price: 2,
rating: 3
},
{
name: 'California Foods',
distance: 8,
price: 5,
rating: 4
}
];
business.updateLocation = function (miles) {
function updateDistance(value){
value.distance += miles;
}
return this.forEach(updateDistance);
};
代码的顶部是我创建的简单业务审查前端的对象数组。我在其他函数中调用了其他数组方法,并且很好地执行了它们的表,这些是过滤器和排序方法。我的目标是简单的变量英里添加到物体的距离属性,然后以表格的形式打印出来,使用此代码:
// Test the updateLocation method.
console.log('Return value from updateLocation')
console.table(business.updateLocation(3));
每当我打电话console.table(business.updateLocation(3) ),没有打印。我确定它与我的功能有关,因为我仍然对每个需要的三个参数感到困惑。有人可以详细说明在这种情况下使用的价值,索引和数组吗?我只需要价值......对吗?提前致谢!
从技术上讲,它确实会返回一些内容:* forEach()对每个数组元素执行一次回调函数;不像'every()'和'some()',它总是返回值undefined。*这是问题。 :) –
你是对的,谢谢更新我的答案。 – DTing