javascript - 如何在 HTML 中查看数组

标签 javascript arrays html object

所以我希望当我输入制造商时返回的数组能够显示 HTML 中数组内每个对象的完整数据。然而,当我在 HTML 页面中调用该函数时,无论在原始数组中定义了多少次Manufacturer,我都只能返回单词对象。有人可以帮忙吗?

// To make program read the data inside the array cars and pick the ones with the      desired manufacturer//
function findManufacturer(manufacturer) {
    var retcars = [];
    for (i = 0; i < cars.length-1; i++) {
        car = cars[i]
        if (car.manufacturer == manufacturer) {
            retcars.push(car)
        }
    }
    display(retcars);
}

function display(mycars) {
    document.getElementById('mycars').textContent= mycars;
}

最佳答案

在最简单的层面上,您可以只使用 JSON.stringify。不过,这对于调试来说最有用:

function display(mycars) {
    document.getElementById('mycars').textContent= JSON.stringify(mycars);
}
<小时/>

您还可以遍历数组,然后遍历每辆车的属性,生成一些动态 HTML:

function display(mycars) {
    var html = '';
    for (var car in mycars) {
        for (var prop in car) {
            html += prop + ': ' + car[prop];
        }
        html += '<hr/>';
    }
    document.getElementById('mycars').innerHTML = html;
}
<小时/>

理想情况下,您希望能够编写 HTML 模板来显示数据。我建议查看一些客户端模板引擎,例如 Mustache.jsUnderscore.js 。这些引擎允许您编写带有标记的 HTML 模板来表示数据字段:

<script type="text/template" id="car-template"> 
    <% _.each(cars, function(car) { %>
        <div>
            <div><%= make %></div>
            <div><%= model %></div>
        <div>
        <hr/>
    <% } %>
</script>

然后你只需写这样的东西:

function display(mycars) {
    var template = _.template(document.getElementById("car-template"));
    var html = template({ cars: mycars });
    document.getElementById('mycars').innerHTML = html;
}

关于javascript - 如何在 HTML 中查看数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24130720/

相关文章:

javascript - 如何从 Canvas 中查找图像文件的大小?

javascript - 如何根据点击获取对应对象的值

javascript - AngularJS 在指令模板中使用 Canvas

c++ - 允许快速重用任意元素的固定长度数组数据结构? C++

php - PDO 对象超出范围,尝试调用 Javascript 函数

javascript - 减去最近的输入以在另一个输入上设置其值

PHP 函数返回 NULL 而不是数组

ios - 如何将数组保存到实体的属性?

html - 如何使用 CSS 隐藏 HTML 文档中的一个单词

javascript - 为表单向导拖放显示 div