javascript数组的新手,需要一些帮助

时间:2011-03-15 18:13:01

标签: javascript arrays

我有一个作业,我需要制作两个数组(NAME和SALES)。我需要填充多达100个组件的数组。然后,我需要使用calcPay()函数计算总薪酬。我无法弄清楚如何使函数工作,它将打印结果表与Pay列作为“未声明”,或者它只是在它到达那个位置时停止工作,无论输入了多少个NAMES和SALES进入阵列。我在正文脚本中有这个:

var i=0;
var NAME = new Array();
var SALES = new Array();
do
{
   NAME[i]=getName();
   SALES[i]=getSales();
   i++;
   var again=confirm("Would you like to enter another salesperson's stats?");
}while(again && i<=100);

var i=0;
for (var i=0;i<NAME.length;i++)
{
   printRow();
}

这是标题:

function getName()
{
   do
     {
        var name=prompt("What is the salesperson's full name?");
     }while (name==""||name==null);
   return name;
}

function getSales()
{
   do
     {
        var sales=prompt("Please enter salesperson's sales.");
     }while(sales==""||isNaN(sales));
   return parseFloat(sales);
}

calcPay(sales)
{
   var pay=sales*.1+1000;
   return pay;
}

function printRow()
{
    document.write("<tr>");
    document.write("<td>"+NAME[i]+"</td>");
    document.write("<td>"+SALES[i]+"</td>");
    var payment=calcPay(SALES[i]);
    document.write("<td>"+payment+"</td>");
    document.write("</tr>");
}

这不是任何方式的任务的全部范围,我只是想确保我有一个处理数组的馈送和操作(显然我不这样做)。 感谢您的任何提示。

2 个答案:

答案 0 :(得分:1)

一般来说 - 您的代码有效,请在此处找到:

http://jsfiddle.net/osher/GhZSf/

然而 - 在calcPay之前缺少“函数”

calcPay(sales)
{
   var pay=sales*.1+1000;
   return pay;
}

应该是

function calcPay(sales)
{
   var pay=sales*.1+1000;
   return pay;
}

这就是全部

答案 1 :(得分:-3)

名称和销售超出范围此功能不会按照您的想法执行,即使这样做也是错误的。
使用if语句。

function getName()
{
   do
     {
        var name=prompt("What is the salesperson's full name?");
     }while (name==""||name==null);
   return name;
}

function getSales()
{
   do
     {
        var sales=prompt("Please enter salesperson's sales.");
     }while(sales==""||isNaN(sales));
   return parseFloat(sales);
}