Javascript 如何将一个对象迭代到一个对象数组中
我创建了一个对象,这个对象需要传入一个方法,在这个方法中,我需要使用每个对象进行迭代。因为我的Obj只有值,所以它不能通过。谁能帮我一把吗 我的代码:Javascript 如何将一个对象迭代到一个对象数组中,javascript,arrays,object,extjs,Javascript,Arrays,Object,Extjs,我创建了一个对象,这个对象需要传入一个方法,在这个方法中,我需要使用每个对象进行迭代。因为我的Obj只有值,所以它不能通过。谁能帮我一把吗 我的代码: var MyObj = { country : "Aus", Time : "EST", Val : "Pecific" } 现在我需要传入一个方法: this.someMethod(id, MyObj); 在某种方法中,我有一个代码 Ext.Array.forEach(MyObj, function (Value)
var MyObj = {
country : "Aus",
Time : "EST",
Val : "Pecific"
}
现在我需要传入一个方法:
this.someMethod(id, MyObj);
在某种方法中,我有一个代码
Ext.Array.forEach(MyObj, function (Value) {})
此时它失败了,因为
MyObj
不是对象数组。如何更正。如果您能提供更多信息,将非常有帮助。
我不确定您想要实现什么,但是有几种方法可以迭代对象
如果要将对象拆分为多个单关键点对象:
> Object.keys(MyObj).map(key => ({ [key]: MyObj[key] }))
[ { country: 'Aus' }, { Time: 'EST' }, { Val: 'Pecific' } ]
另一方面,如果您有一个接受数组的函数,但只想传递这一个对象:
Ext.Array.forEach([MyObj], Value => ())
(但在这种情况下,最好只调用函数。)
var MyObj={
国家:“澳大利亚”,
时间:“EST”,
瓦尔:“特定的”
}
//无分机
函数someMethod(id,MyObj)
{
Object.keys(MyObj).forEach(函数(值){
log(MyObj[Value]);
});
}
方法(1,MyObj)代码>您可以通过以下方式实现:
var MyObj={
国家:“澳大利亚”,
时间:“EST”,
瓦尔:“特定的”
}
函数someFunction(id,obj){
var objArray=$.map(obj,函数(el){
控制台日志(el);
返回el
});
}
someFunction(1,MyObj)
ExtJs方式
ExtJs提供了Ext.Object.eachValue
,这是您正在搜索的内容。
从:
迭代对象并调用给定的回调函数
每次迭代。可以通过在
回调函数
下面的代码将遍历MyObj
的每个值,并用它调用回调
var MyObj = {
country : "Aus",
Time : "EST",
Val : "Pecific"
}
Ext.Object.eachValue(MyObj, function (Value) {console.log(Value)});
我需要使用Object.keys(MyObj)的地方。为什么要引入像jQuery这样的库来做一些可以由Vanilla JS处理的事情?