我想创建如下所示的列表对象:
classif.distributionForInstance(instance);
我试过了但是失败了
myObj = {"foo":[1,2,3,4],
"bar":[3,5,7,8]}
这样做的正确方法是什么?
答案 0 :(得分:1)
您需要先创建数组
session = ShopifyAPI::Session.new(shop,token)
if session.valid?
ShopifyAPI::Base.activate_session(session)
sellersku.each do |xyz|
yours = find_by sellersku: xyz
new_product = ShopifyAPI::Product.new
new_product.title = yours.title
new_product.product_type = yours.product_type
new_product.vendor = yours.vendor
new_product.body_html = yours.description
new_product.images = yours.image
new_product.save
end
然后调用你的推送方法
答案 1 :(得分:0)
这取决于,您是否尝试使用全新myObj
重新分配foo
属性array
?或者您是否尝试追加已存在的array
?
在前一种情况下:
myObj.foo = [1,5,6,4] // new array
后者:
myObj.foo.concat(/*new numbers*/)
答案 2 :(得分:0)
通常使用{}
表示法。
var myObj = {};
myObj.foo = [];
myObj.bar = [];
稍后您可以操作数组。
myObj.bar.push('elem1');
myObj.bar.pop();
// ...
答案 3 :(得分:0)
首先,你应该将对象的属性声明为数组,以免得到一些不愉快的情况。所以你可以使用new Object来创建这样的对象。
var myObj=new Object;
并将属性定义为空数组
myobj.prop1=[];
myObj.prop2=[];
然后你可以将你想要的任何东西推到prop1或prop2中,只需将它们作为
到达对象内部即可myObj.prop1.push(someData)
OR
您可以使用更好的方式声明此对象,如下所示
var myObj={
prop1:[],
prop2:[]
}
再次,你可以按照我上面所说的推送你喜欢的任何东西 as myObj.prop1.push(data)
答案 4 :(得分:0)
首先尝试声明你的对象,所以你的第二行是第一行
var myObj = new Object();
然后用数据填充对象
myObj = {"foo":[1,2,3,4],"bar":[3,5,7,8]}
然后你的其余代码应该可以正常工作
myObj["foo"].push(1)
myObj["foo"].push(2)
结果[ 1, 2, 3, 4, 1, 2 ]