【问题标题】:How to create multiple objects based on dynamic data?如何根据动态数据创建多个对象?
【发布时间】:2023-03-15 00:34:01
【问题描述】:

基本上我正在做的是尝试通过 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 内的数据返回多个对象。

【问题讨论】:

  • 在一个数组中保存多个对象是正确的方法。但是你知道 return 语句会立即退出循环(和函数)。您可能应该澄清您的问题。你到底在找什么?
  • 好吧,我还是不明白你在做什么。如果您将这些对象保存在数组中,则您拥有所需的所有数据。您打算对这些对象执行的任何操作都可以通过遍历此数组来完成。或者您是否试图将这些不同的对象保存到不同的变量中?如果有,为什么?
  • @satish 一个选项是将数据存储到一个数组中,我想知道是否还有其他方法可以做到这一点,如果有,它会是什么。我想我写这篇文章的时候没有明确这个问题,对不起。但是一旦我将数据放入数组中,我将如何基于它创建对象?假设我有两个数组,一个称为价格,一个称为名称。每个数组都有五个值,所以我需要以 item = {name:"",price:0} 的格式返回 5 个对象,这基本上就是我想要问的。
  • 我根据您的评论发布了回复。这应该会为您提供所需的对象集合。

标签: javascript steam


【解决方案1】:

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

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;
}

【讨论】:

  • 这是我一直在寻找的,感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2020-07-18
  • 1970-01-01
  • 1970-01-01
  • 2017-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多