簡體   English   中英

JavaScript循環遍歷對象

[英]Javascript loop through collection of objects

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()

嘗試這種方式:

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

for(var i=0; i< squares.length; i++)
{
     $('.' + getClass(squares[i], cubes[i])).doStuff();
}

像這樣:

var squares = [1, 2, 4,  8];
var cubes = [1, 4, 9, 16];
var direction=[]
for (i=0;i<cubes.length;i++){
    a.push(getClass(squares[i], cubes[i]));
}
$(a).each(function (index) {
    $('.' + this).doStuff();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM