Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mootools将散列转换为数组_Javascript_Arrays_Hash_Mootools - Fatal编程技术网

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方法来迭代它。