一点JS n00b,刚开始等等,我目前有一个嵌套数组,我想轻松更改值。
var rects = [[new Rect, new Rect, new Rect, new Rect, new Rect],
[new Rect, new Rect, new Rect, new Rect, new Rect]]
现在我知道我总能做到
for(let i = 0; i < rects.length; i++){
for(let j = 0; j < rects[i].length; j++{
rects[i][j].pos.x = 30;
rects[i][j].pos.y = 30;
}
}
但是我想知道我是否可以使用(缺少更好的措辞)嵌套箭头函数来执行类似
的操作rects.forEach(rect => {
rect.forEach(thing => {
thing.pos.x = 30;
thing.pos.y = 30;
});
});
并且与上面的for循环具有相同的效果?他们看起来更干净,我的代码看起来就像是英语的老鼠窝。
答案 0 :(得分:-1)
简而言之:是的,你可以。如果您已经尝试过并且遇到错误,那么这将是一个单独且更有用的问题。
答案 1 :(得分:-1)
在任何版本的JS中都可以使用的技术是使用for循环来获取对要使用的对象的引用。您必须小心使用包含假值的数组,在您的示例中不是这样。
for (var i = 0, r; r = rects[i]; i++) {
for (var j = 0, thing; thing = r[j]; j++) {
thing.pos.x = 30;
thing.pos.y = 30;
}
}