Javascript Mootools将散列转换为数组
我有一个目标:Javascript Mootools将散列转换为数组,javascript,arrays,hash,mootools,Javascript,Arrays,Hash,Mootools,我有一个目标: var obj = {a,b,c,...}; obj = $H(obj); var obj={a,b,c,…}; obj=小时(obj); 我需要将其转换为简单数组 [a,b,c,..] [a,b,c,…] 我该怎么办? Thx.假设您需要数组中的值: var arr = []; for(var prop in obj){ if(obj.hasOwnProperty(prop)){ arr.push(obj[prop]); } } v
var obj = {a,b,c,...};
obj = $H(obj);
var obj={a,b,c,…};
obj=小时(obj);
我需要将其转换为简单数组
[a,b,c,..]
[a,b,c,…]
我该怎么办?
Thx.假设您需要数组中的值:
var arr = [];
for(var prop in obj){
if(obj.hasOwnProperty(prop)){
arr.push(obj[prop]);
}
}
var arr = [];
for(var prop in obj){
if(obj.hasOwnProperty(prop)){
arr.push(prop);
}
}
如果希望属性名称位于数组中,请执行以下操作:
var arr = [];
for(var prop in obj){
if(obj.hasOwnProperty(prop)){
arr.push(obj[prop]);
}
}
var arr = [];
for(var prop in obj){
if(obj.hasOwnProperty(prop)){
arr.push(prop);
}
}
hasOwnProperty调用很重要,因为它将过滤掉继承的函数和mooTools哈希类的私有成员,而这些函数和成员可能不希望出现在生成的数组中假设需要数组中的值:
var arr = [];
for(var prop in obj){
if(obj.hasOwnProperty(prop)){
arr.push(obj[prop]);
}
}
var arr = [];
for(var prop in obj){
if(obj.hasOwnProperty(prop)){
arr.push(prop);
}
}
如果希望属性名称位于数组中,请执行以下操作:
var arr = [];
for(var prop in obj){
if(obj.hasOwnProperty(prop)){
arr.push(obj[prop]);
}
}
var arr = [];
for(var prop in obj){
if(obj.hasOwnProperty(prop)){
arr.push(prop);
}
}
hasOwnProperty调用很重要,因为它将过滤掉继承的函数和mooTools哈希类的私有成员,这些函数和成员可能不希望出现在生成的数组中,因为您使用$H,我假设mooTools的旧版本为1.2.x,因为它在1.3中被弃用,而支持新对象。构造
哈希有一个。每个方法:
var Hobj = $H({
tool: "bar",
ghost: "goblin"
});
var arr = [];
Hobj.each(function(value, key) {
arr.push(value); // what to do with key?
});
console.log(arr);
另一种方法是使用关键帧(而不是数组关键帧)获取完整对象:
Hobj.each(function(value, key) {
var obj = {};
obj[key] = value;
arr.push(obj);
});
由于您使用$H,我假设mootools的旧版本为1.2.x,因为它在1.3中被弃用,取而代之的是新对象。构造
哈希有一个。每个方法:
var Hobj = $H({
tool: "bar",
ghost: "goblin"
});
var arr = [];
Hobj.each(function(value, key) {
arr.push(value); // what to do with key?
});
console.log(arr);
另一种方法是使用关键帧(而不是数组关键帧)获取完整对象:
Hobj.each(function(value, key) {
var obj = {};
obj[key] = value;
arr.push(obj);
});
Object.getValues(myObject)
获取所有值的数组
Object.getKeys(myObject)
获取一个键数组
对于1.2,简单地说,Hash
提供了相同的方法
和不要使用对象{}
来存储列表,如示例中所示<代码>数组
用于列表,对象
用于关联数组
编辑:
自1.3版以来,Object.getValues和Object.getKeys已被弃用,并被Object.keys和Object.values替换为Object.keys
Object.getKeys(myObject)
获取一个键数组
对于1.2,简单地说,Hash
提供了相同的方法
和不要使用对象{}
来存储列表,如示例中所示<代码>数组
用于列表,对象
用于关联数组
编辑:自1.3版以来,Object.getValues和Object.getKeys已被弃用,并被Object.keys和Object.getKeys取代。keys和Object.values不是一个真正的普通对象-它是一种修改过的对象类型,允许原型化(皱眉)。它也有预定义的方法,其中一个是
。每个-这将是干净的API的mootools方法来迭代它。散列不是一个真正的普通对象-它是一个修改过的对象类型,允许原型化(皱眉)。它还有预定义的方法,其中一个是。每个——这将是干净的API的mootools方法来迭代它。