如何将重复字符串转换为函数?

时间:2017-12-03 22:40:03

标签: javascript html json api

目前我从API获取信息 - 我希望以更加用户友好的方式将该信息转换到我的网站上。这里的问题是我正在寻找的变量的数量随着其中的答案而不断变化,所以我想创建一个函数,如果有另一个“车辆”,将添加带逗号的段落 - 也许我没解释清楚,所以我会举一个例子。

目前我有这样的话:

document.getElementById("vehicle").innerHTML = data.vehicles[1]['classname']
document.getElementById("vehicle").innerHTML = data.vehicles[2]['classname']
document.getElementById("vehicle").innerHTML = data.vehicles[3]['classname']

我想创建一个函数,在每次在api中看到它时,添加上面的元素到我的代码中。

例如我有

<p id="vehicle">...</p>

在我的HTML中,如果我的api中有1辆带有类名Car的车辆,则会将...替换为Car。如果有2辆车,其中一辆带有班级名Car,另一辆Boat,则会将...替换为Car, Boat - 希望这是有道理的

1 个答案:

答案 0 :(得分:4)

content = data.vehicles.map(v => v.classname).join(", ");
document.getElementById("vehicle").textContent = content;

附录

  1. data.vehicles.map(v => v.classname)
    迭代data.vehicles数组并仅获取类名。

    例如,如果我们有[{classname: "Car"}, {classname: "Boat"}],那么我们将返回["Car", "Boat"]

  2. .join(", ")
    通过", "加入元素。

    例如,如果我们有["Car", "Boat"],那么我们将返回"Car, Boat"

  3. document.getElementById("vehicle").textContent
    .textContent是设置元素文本内容的正确方法。