Javascript 循环遍历对象集合

标签 javascript jquery arrays loops refactoring

var squares = [1, 2, 4,  8];
var cubes = [1, 4, 9, 16];
var north,east,south,west;

north = getClass(squares[0], cubes[0]);
east  = getClass(squares[1], cubes[1]);
south = getClass(squares[2], cubes[2]);
west  = getClass(squares[3], cubes[3]);

$('.' + north).doStuff()
$('.' + east).doStuff()
$('.' + south).doStuff()
$('.' + west).doStuff()

我正在用 javascript 编写一些代码,感觉我应该能够重构此部分,但我不知道该怎么做。

我想我想做的是将北、东、南、西变成某种集合,以便我可以迭代它?

您建议我如何使用 javascript 执行此操作?

最佳答案

你可以做类似的事情:

var squares = [1, 2, 4,  8];
var cubes = [1, 4, 9, 16];
var selectors = [];

for(var c = 0, c < squares.length, c++){
    selectors.push(getClass(squares[c], cubes[c]));
}

$('.' + selectors.join(', .')).doStuff()

或者,您可以使用.map:

var squares = [1, 2, 4,  8];
var cubes = [1, 4, 9, 16];
var selectors = $.map(squares, function(_, i){
    return getClass(squares[i], cubes[i]);
})

$('.' + selectors.join(', .')).doStuff()

关于Javascript 循环遍历对象集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23133695/

相关文章:

javascript - 如何自动创建项目的 View 和操作?

javascript - 如何允许在 free-jqgrid 中输入 html5 数字

PHP 随机洗牌数组维护键 => 值

javascript - 创建一个 JavaScript 查找,将用户输入与大量项目列表进行比较

javascript - 重新加载后如何显示复选框中选中的项目的勾号?

javascript - jquery 缩短数字长度(将兆字节转换为千兆字节)

javascript - 上传图像而不在 Express 中重定向 :(

javascript - 当我们滚动到 div 来到窗口中间位置时为我的 div 制作动画

javascript - 我怎样才能使这项工作与动态生成的内容一起工作?

php - 为数组中的每个项目生成一个 mysql 查询