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();
});
相关文章:
- Meteor-将选定窗体中的对象添加到集合中
- 微风得到的是实体而不是对象的集合
- MongoDB-通过比较集合和对象的数组来返回现有字段的数组
- 使用Undercore创建对象集合
- 我们可以用参数对象集合而不是原始数据来调用JavaScript collection.reduce()方法吗
- 如何在我传递给视图的ViewModel集合中获得jQuery可选对象的值,以作为有序列表进行迭代
- 将css属性添加到对象的集合中
- 如何查找流星集合中最后一个元素/对象的id
- 将一个对象集合映射到汇总集合的单个对象
- 将主干集合对象转换为其原始类型
- 在 Forerunner 数据库集合中创建主键时,key 属性是否可以位于集合对象的对象内部
- Expressjs&集合中的MongoDB更新对象's数组
- 使用下划线/Lo短划线更新集合对象
- 在 fetch 的成功和集合对象的绑定事件中编写代码有什么区别
- 尝试Backbone.js,我的集合对象没有加载数据
- 使用JQuery将自定义集合对象从控制器传递到视图
- 结合2 MongoDB集合对象下划线或其他东西
- Backbone.js-模型中的集合-对象函数(a){return new n(a)}没有方法'有'
- 在哪里格式化集合/对象
- 按带有下划线的属性值过滤重复的集合对象(不区分大小写和修剪)