根据属性值创建多个对象数组,然后遍历每个数组
Create multiple arrays of objects based on property value then iterate through each array
假设我在一个数组中有以下对象:
var entities = [
server1: { type: server },
server2: { type: server },
server3: { type: server },
printer1: { type: printer },
printer2: { type: printer },
printer3: { type: printer },
switch1: { type: switch },
switch2: { type: switch },
switch3: { type: switch }
]
我怎么能做这样的事情:
typeArray(type) = []
for each type in entities {
for each entity in entities of type {
typeArray(type).push(entity)
}
}
这应该会导致类似。。。
typeArray("switch")(0) = switch1
typeArray("server")(2) = server3
typeArray("printer")(1) = printer2
除此之外,我希望能够以编程方式访问所有阵列
for each typeArray() {
var type = ???
myArrayFunction(typeArray, type);
}
希望我的伪代码有意义。。。
一个简单的map()将为您处理重新洗牌:
var entities = {
server1: { type: 'server' },
server2: { type: 'server' },
server3: { type: 'server' },
printer1: { type: 'printer' },
printer2: { type: 'printer' },
printer3: { type: 'printer' },
switch1: { type: 'switch' },
switch2: { type: 'switch' },
switch3: { type: 'switch' }
}
var typeArray={};
Object.keys(entities).map(function(a){
var v=this[a];
typeArray[v.type]=typeArray[v.type]||[];
typeArray[v.type].push(a);
},entities);
typeArray /* ==
{
"server": [
"server1",
"server2",
"server3"
],
"printer": [
"printer1",
"printer2",
"printer3"
],
"switch": [
"switch1",
"switch2",
"switch3"
]
}
*/
// a sanity check for your suggested code seems to work using js syntax:
typeArray["server"][2] // == "server3"
相关文章:
- 将值输入到对象,然后该对象推送到数组
- 删除重复的数组值,然后存储它们[反应]
- 如何放置ÅÄ和#214;在javascript数组中,然后将其与html文本进行比较
- 找到 JSON 数组的特定部分,然后在 Angular 中更深入
- 从异步调用返回数组,然后为数组的每个元素返回其他异步调用
- Javascript:编写一个函数,接收一个数组,然后返回一个只有唯一数字的数组,只删除数组
- 查找文档,然后在数组中查找条目并将其从数组中删除
- 如何在一维数组中存储 3 个随机数,然后在 Javascript 中收到警报
- Javascript(动态)插入到数组中,然后移动+1下面的所有元素
- 如何在javascript中生成数组对象的数组,然后将其传递给java
- 从数组中快速打印对象,然后循环
- 根据属性值创建多个对象数组,然后遍历每个数组
- 从数组中删除元素,然后保留其状态以备将来使用,而不使用全局变量
- 量角器:如何在数组中存储值,然后进行排序
- 修改输入中的数组,然后返回输出
- 使用$.post()将PHP数组发送到jQuery,然后循环使用这些值
- 单击时将值推送到数组,然后循环添加数组值.Javascript
- 从下拉列表中的数组中选取某个项目,然后将其显示为第一项并按字母顺序显示
- 如何将字符串拆分为数组,修改数组然后应用于javascript中的字符串
- 如果我们使用new array (len).fil({})创建对象数组;然后在任意一个对象中添加一个键,它会被反射到所有