Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Javascript将元素的内部HTML文本替换为数组的一部分_Javascript_Arrays_For Loop_If Statement_Innerhtml - Fatal编程技术网

如何使用Javascript将元素的内部HTML文本替换为数组的一部分

如何使用Javascript将元素的内部HTML文本替换为数组的一部分,javascript,arrays,for-loop,if-statement,innerhtml,Javascript,Arrays,For Loop,If Statement,Innerhtml,我将学习一个JavaScript类,为了进行练习,我们必须将一个数组与另一个数组进行比较,并用两个数组中存在的字符串值替换元素的内部html文本。下面是javascript: // Here is an array of US State Capitals to use var capitals = ["Montgomery", "Juneau", "Phoenix", "Little Rock", "Sacramento", "Denver", "Hartford", "Dover", "Ta

我将学习一个JavaScript类,为了进行练习,我们必须将一个数组与另一个数组进行比较,并用两个数组中存在的字符串值替换元素的内部html文本。下面是javascript:

// Here is an array of US State Capitals to use
var capitals = ["Montgomery", "Juneau", "Phoenix", "Little Rock", "Sacramento", "Denver", "Hartford", "Dover", "Tallahassee", "Atlanta", "Honolulu", "Boise", "Springfield", "Indianapolis", "Des Moines", "Topeka", "Frankfort", "Baton Rouge", "Augusta", "Annapolis", "Boston", "Lansing", "Saint Paul", "Jackson", "Jefferson City", "Helena", "Lincoln", "Carson City", "Concord", "Trenton", "Santa Fe", "Albany", "Raleigh", "Bismarck", "Columbus", "Oklahoma City", "Salem", "Harrisburg", "Providence", "Columbia", "Pierre", "Nashville", "Austin", "Salt Lake City", "Montpelier", "Richmond", "Olympia", "Charleston", "Madison", "Cheyenne"];



// Using JavaScript, get the contents of the "cities" div and convert it into an array of strings (each city will be an element in the array)
var citiesString = document.getElementById("cities").innerHTML;

var cities = citiesString.split(", ");


// Loop through the array of cities.  Compare each element to the array of capitals.  If a city is NOT a state capital, update the HTML output to leave out that city.  (Note: formatting, commas, etc. doesn't count -- just get the cities to display.)


for (i = 0; i < cities.length; i++) {
  if(capitals.indexOf(cities[i]) >=0) {
    document.getElementById("cities").innerHTML += cities[i] += ", ";
  } 
}

我让它只显示两个数组中存在的城市,但它仍然显示前面的整个城市数组列表。如何使其仅显示波士顿、印第安纳波利斯和亚特兰大?

在for循环之前清除“cities”的内容

document.getElementById("cities").innerHTML = "";

您正在将数组附加到元素中的现有文本。

请显示CitiesTanks中的数据!我在for循环之前添加了这个,现在它开始工作了。