javascript - JSONP 在本地转换为数组?

标签 javascript jquery

我有从远程服务器返回的数据。然而,我遇到的问题有时是“事物”将是一组“事物”或只是一个“事物”

“事物”具有名称和值属性,以及其他一些属性。

我遇到的问题是只返回一个“东西”。现在我的代码看起来像这样。必须有更好的方法。

var array = [];
if (data.results.thing.length > 1) {

var array = $.map(data.results.thing, function (item) {

    return {
        label: item.name,
        value: item.value
    }
});
}
else {

array = $.makeArray({
    label: data.results.thing.name,
    value: data.results.thing.value
});
}

最佳答案

事实证明,jQuery 比它更聪明; $.makeArray将按原样返回一个真正的数组,或者根据需要将对象变成一个数组:

var array = $.map( $.makeArray(data.results.thing), function (item) {

    return {
        label: item.name,
        value: item.value
    }
});

关于javascript - JSONP 在本地转换为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12699588/

相关文章:

javascript - 通过操纵不透明度突出显示菜单中的元素

javascript - 将 geojson 元素获取到 html 表中

javascript - 如何在 Firefox WebExtensions 中获取 openerTabId?

javascript - Highcharts 从事件点击访问向下钻取数据

javascript - 我在哪里可以下载 jquery cookie 插件?

javascript - 在 Javascript 中打印 actionMessages

javascript - 在 ViewModel 之外使用计算数组来 knockout JS

javascript - 将表格旋转 90 度

javascript - 通过 jQuery 将 JavaScript 对象发送到 Web 服务器调用 - 正确的方法是什么?

JQuery:获取属于输入标签的标签的值