【发布时间】:2017-03-20 05:35:44
【问题描述】:
我是编程新手,所以如果这是一个简单的问题,我深表歉意。
我有一个独特的练习题,我不太确定如何解决:
我正在处理两个数组,两个数组都是从页面上的 HTML 元素中提取的,一个数组代表一堆状态,下一个数组代表它们的人口。问题的关键在于打印各州的名称及其低于平均水平的人口。
要查找并打印所有低于我使用此代码的平均值的总体:
function code6() {
// clears screen.
clr();
// both variables pull data from HTML elements with functions.
var pop = getData2();
var states = getData();
var sum = 0;
for( var i = 0; i < pop.length; i++ ){
sum += parseInt( pop[i], 10 );
var avg = sum/pop.length;
if (pop[i] < avg) {
println(pop[i]);
// other functions used in the code to get data, print, and clear the screen.
function getData() {
var dataSource = getElement("states");
var numberArray = dataSource.value.split('\n');
// Nothing to split returns ['']
if (numberArray[0].length > 0) {
return(numberArray);
} else {
return [];
}
}
// Get the data from second data column
function getData2() {
var dataSource = getElement("pops");
var numberArray = dataSource.value.split('\n');
// Nothing to split returns ['']
if (numberArray[0].length > 0) {
return(numberArray);
} else {
return [];
}
}
// Clear the 'output' text area
function clr() {
var out = getElement("output");
out.value = "";
}
// Print to the 'output' HTML element and ADDS the line break
function println(x) {
if (arguments.length === 0) x = '';
print(x + '\n');
}
现在我只需要知道如何获取数组中这些位置的值,这样我就可以从状态数组中提取相同的位置并并排显示它们。两个数组的项目数量相同。
我希望这是有道理的,并提前感谢任何有时间查看此内容的人。
最好的问候,
-E
【问题讨论】:
-
stackoverflow 搜索是你的朋友
-
clr()和println()不是 JavaScript。您确定您不是在询问与 JavaScript 完全不同的 Java 吗?如果没有,与这些函数相关的其余代码在哪里? -
大家好,感谢您的快速回复。
-
我强烈建议你使用 eslint。您的代码不是很惯用,并且有很多明显的问题。 Eslint 将帮助您改进。
-
请分享您的两个 getData() 函数返回的示例数据
标签: javascript arrays loops