如何根据动态数据创建多个对象?

时间:2016-02-22 05:51:06

标签: javascript steam

基本上我正在做的是尝试通过HTML解析创建我自己的蒸汽市场JSON。

我目前如何做的示例:

var url = 'http://steamcommunity.com/market/search?appid=730'
var itemDiv = $("<div></div>")
$.get(url).success(function(r){
    data = $(r).find('stuff i need')
    itemDiv.append(data)
})

现在说我想找到div中项目的名称,我会做类似的事情:

itemDiv.find('x').each(function(){
    var name = $(this).find("y").text()
    // console.log(name) [or do whatever is needed ect]
})

正如我之前提到的,我需要以以下格式返回基于该数据的对象:

var item = {name:"",price:0}

然而,价格之类的东西总会在变化。

根据div中的数据,最终产品将如下所示:

var x = {name:"a",price:1}
var x2 = {name:"a2",price:2}

我该怎么做呢?我想也许我可以将数据存储在数组中,然后执行类似

的操作
for(x in y){
return object
}

或类似的东西。

很抱歉,如果这看起来像是一个傻瓜问题,我对javascript很新。

澄清:我正在试图弄清楚如何根据div中的数据返回多个对象。

1 个答案:

答案 0 :(得分:0)

以下是基于两个数组构建对象数组的代码(假设它们长度相等)。

function buildStocks() {
    // Names and prices can also be passed as function arguments
    var names = ['a', 'b', 'c']; 
    var prices = [1, 2, 3];
    var result = []; // Array of these objects

    for (var i = 0; i < names.length; i++) {
        result.push({
            name: names[i],
            price: prices[i]
        });
    }

    return result;
}