数组 - 我做错了什么? [英] Array - What am I doing wrong?

查看:80
本文介绍了数组 - 我做错了什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

< HTML>

< HEAD>

< TITLE>< / TITLE>

< SCRIPT>

<! -


var factor_val = new Array(8,7)


factor_val [1,1 ] = 68.8

factor_val [1,2] = 55

factor_val [1,3] = 45.5

factor_val [1,4] = 42.3

factor_val [1,5] = 39.3

factor_val [1,6] = 34.4

factor_val [1,7] = 30.6

factor_val [2,1] = 36.7

factor_val [2,2] = 31

factor_val [2,3] = 25.8
factor_val [2,4] = 23.8

factor_val [2,5] = 22.1

factor_val [2,6] = 19.4

factor_val [2,7] = 17.2

factor_val [3,1] = 30.6

factor_val [3,2] = 26.5

factor_val [3,3] = 20.4

factor_val [3,4] = 18.8

factor_val [3,5] = 17.5

factor_val [3,6] = 15.3

factor_val [3,7] = 13.6

factor_val [4,1] = 24.3

factor_val [4 ,2] = 19.7

factor_val [4,3] = 16.5

factor_val [4,4] = 15.2

factor_val [4,5] = 14.1

factor_val [4,6] = 12.4

factor_val [4,7] = 11

factor_val [5,1] = 17.2

factor_val [5,2] = 13.7

factor_val [5,3] = 11.5

factor_val [5,4] = 10.6

factor_val [5,5] = 9.8

factor_val [5 ,6] = 8.6

factor_val [5,7] = 7.6

factor_val [6,1] = 9.7

factor_val [6,2 ] = 7.7

factor_val [6,3] = 6.5

factor_val [6,4] = 5.9

factor_val [6,5] = 5.5

factor_val [6,6] = 4.8

factor_val [6,7] = 4.3

factor_val [7,1] = 7.6

factor_val [7,2] = 6

factor_val [7,3] = 5.1

factor_val [7,4] = 4.7

factor_val [7,5] = 4.4

factor_val [7,6] = 3.8

factor_val [7,7] = 3.4

factor_val [8,1] = 4

factor_val [8,2] = 3

factor_val [8,3] = 2.7

factor_val [8,4] = 2.6

factor_val [8,5] = 2.5

factor _val [8,6] = 2

factor_val [8,7] = 1.7

函数计算(表格)

{

var myindex_x = form.diameter.selectedIndex;

var myindex_y = form.depth.selectedIndex;


if(myindex_x = = 0)

{

alert(" Select a Diameter。);

}

else if(myindex_y == 0)

{

alert(" Select a Depth。);

}

其他

{

form.x_val.value = myindex_x;

form.y_val.value = myindex_y;

form.f_val.value = factor_val [myindex_x,myindex_y];

form.answer_val.value = form.num_of_holes.value / factor_val [myindex_x,

myindex_y] ;


}

}


- >

< / SCRIPT>

< / HEAD>


< BODY>


< form>


< p>< input type =" text"名称= QUOT; num_of_holes"大小= QUOT; 4英寸值= QUOT; 0">

Holes< / p>


< p>

< select name =" diameter">

< option>选择Diameter< / option>

< option> 6< / option>

< option> 8< / option>

< option> 9< / option>

< option> 10< / option>

< option> 12< ; / option>

< option> 16< / option>

< option> 18< / option>

< option> 24< / option>

< / select>

< / p>


< p>

< select name =" depth">

< option>选择Depth< / option>

< option> 24< /选项>

<选项> 30< /选项>

<选项> 36< / option>

< option> 39< / option>

< option> 42< / option>

< option> 48< / option>

< option> 54< ; /选项> ;

< / select>

< / p>


< p>< font color =" #0000FF">< input type =" text"命名= QUOT; x_val"大小= QUOT; 4英寸value =" 0"

onFocus =''this.blur()''> X< / font>< / p>

< p>< font color ="#0000FF">< input type =" text"命名= QUOT; y_val"大小= QUOT; 4英寸value =" 0"

onFocus =''this.blur()''> Y< / font>< / p>

< p>< font color ="#0000FF">< input type =" text"命名= QUOT; F_VAL"大小= QUOT; 4英寸value =" 0"

onFocus =''this.blur()''>因子< / font>< / p>

< p>< input type =" text"命名= QUOT; answer_val"大小= QUOT; 6英寸value =" 0"

onFocus =''this.blur()''>答案< / p>


< / p>

< INPUT TYPE =" BUTTON&qu​​ot; VALUE ="计算" onClick =" compute(this.form)">< input

type =" reset"值= QUOT;复位" name =" B2">

< / form>

< / BODY>

< / HTML>

<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT>
<!--

var factor_val = new Array(8,7)

factor_val[1,1] = 68.8
factor_val[1,2] = 55
factor_val[1,3] = 45.5
factor_val[1,4] = 42.3
factor_val[1,5] = 39.3
factor_val[1,6] = 34.4
factor_val[1,7] = 30.6
factor_val[2,1] = 36.7
factor_val[2,2] = 31
factor_val[2,3] = 25.8
factor_val[2,4] = 23.8
factor_val[2,5] = 22.1
factor_val[2,6] = 19.4
factor_val[2,7] = 17.2
factor_val[3,1] = 30.6
factor_val[3,2] = 26.5
factor_val[3,3] = 20.4
factor_val[3,4] = 18.8
factor_val[3,5] = 17.5
factor_val[3,6] = 15.3
factor_val[3,7] = 13.6
factor_val[4,1] = 24.3
factor_val[4,2] = 19.7
factor_val[4,3] = 16.5
factor_val[4,4] = 15.2
factor_val[4,5] = 14.1
factor_val[4,6] = 12.4
factor_val[4,7] = 11
factor_val[5,1] = 17.2
factor_val[5,2] = 13.7
factor_val[5,3] = 11.5
factor_val[5,4] = 10.6
factor_val[5,5] = 9.8
factor_val[5,6] = 8.6
factor_val[5,7] = 7.6
factor_val[6,1] = 9.7
factor_val[6,2] = 7.7
factor_val[6,3] = 6.5
factor_val[6,4] = 5.9
factor_val[6,5] = 5.5
factor_val[6,6] = 4.8
factor_val[6,7] = 4.3
factor_val[7,1] = 7.6
factor_val[7,2] = 6
factor_val[7,3] = 5.1
factor_val[7,4] = 4.7
factor_val[7,5] = 4.4
factor_val[7,6] = 3.8
factor_val[7,7] = 3.4
factor_val[8,1] = 4
factor_val[8,2] = 3
factor_val[8,3] = 2.7
factor_val[8,4] = 2.6
factor_val[8,5] = 2.5
factor_val[8,6] = 2
factor_val[8,7] = 1.7

function compute(form)
{
var myindex_x = form.diameter.selectedIndex;
var myindex_y = form.depth.selectedIndex;

if (myindex_x == 0)
{
alert("Select a Diameter.");
}
else if (myindex_y == 0)
{
alert("Select a Depth.");
}
else
{
form.x_val.value = myindex_x;
form.y_val.value = myindex_y;
form.f_val.value = factor_val[myindex_x, myindex_y];
form.answer_val.value = form.num_of_holes.value/factor_val[myindex_x,
myindex_y];

}
}

-->
</SCRIPT>
</HEAD>

<BODY>

<form>

<p><input type="text" name="num_of_holes" size="4" value="0"> Number of
Holes</p>

<p>
<select name="diameter">
<option>Select the Diameter</option>
<option>6</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>12</option>
<option>16</option>
<option>18</option>
<option>24</option>
</select>
</p>

<p>
<select name="depth">
<option>Select the Depth</option>
<option>24</option>
<option>30</option>
<option>36</option>
<option>39</option>
<option>42</option>
<option>48</option>
<option>54</option>
</select>
</p>

<p><font color="#0000FF"><input type="text" name="x_val" size="4" value="0"
onFocus=''this.blur()''> X</font></p>
<p><font color="#0000FF"><input type="text" name="y_val" size="4" value="0"
onFocus=''this.blur()''> Y</font></p>
<p><font color="#0000FF"><input type="text" name="f_val" size="4" value="0"
onFocus=''this.blur()''> Factor</font></p>
<p><input type="text" name="answer_val" size="6" value="0"
onFocus=''this.blur()''> Answer</p>

</p>
<INPUT TYPE="BUTTON" VALUE="Calculate" onClick="compute(this.form)"><input
type="reset" value="Reset" name="B2">
</form>
</BODY>
</HTML>

推荐答案

M.Siler于2003年11月16日在comp.lang.javascript中写道
M.Siler wrote on 16 nov 2003 in comp.lang.javascript:
var factor_val = new Array(8,7)
var factor_val = new Array(8,7)




美国没有猫,

我的意思是没有多维数组在Javascript。

< script>


var factor_val = new Array(8,7)


alert (factor_val [0])//显示8

alert(factor_val [1])//显示7



-

Evertjan。

荷兰。

(请将x''改为点我的电子邮件地址)



There are no cats in America,
I mean there are no multidimensional arrays in Javascript.
<script>

var factor_val = new Array(8,7)

alert(factor_val[0]) // shows 8
alert(factor_val[1]) // shows 7

</script>

--
Evertjan.
The Netherlands.
(Please change the x''es to dots in my emailaddress)


Evertjan。写道:
"Evertjan." wrote:

M.Siler于2003年4月16日在comp.lang.javascript中写道
var factor_val = new Array(8,7)
var factor_val = new Array(8,7)



美国没有猫,
我的意思是Javascript中没有多维数组。

< ; script>

var factor_val = new Array(8,7)
alert(factor_val [0])//显示8
alert(factor_val [1] )//显示7

< / script>

- Evertjan。
荷兰。
(请更改x 我的电子邮件地址中的点数



There are no cats in America,
I mean there are no multidimensional arrays in Javascript.

<script>

var factor_val = new Array(8,7)

alert(factor_val[0]) // shows 8
alert(factor_val[1]) // shows 7

</script>

--
Evertjan.
The Netherlands.
(Please change the x''es to dots in my emailaddress)



我不同意和NS javascript规范同意我:Javascript中有

多维数组,除了你必须定义它们

与示例代码中的内容略有不同。


以下内容直接来自客户端Javascript参考

(v 1.3):


** START QUOTE **

示例2:二维数组。下面的代码创建一个

二维数组,并将结果分配给myVar。


myVar ="多维数组测试;

a = new Array(4)

for(i = 0; i< 4; i ++){

a [i] =新数组(4)

for(j = 0; j <4; j ++){

a [i] [j] =" [" + i + "," + j +"]"

}

}

for(i = 0; i< 4; i ++){

str =" Row" + i +":"

for(j = 0; j< 4; j ++){

str + = a [i] [j]

}

myVar + = str +" ;;

}


此示例将以下字符串分配给myVar(使用换行符

为了便于阅读):


多维数组测试;

第0行:[0,0] [0,1] [0,2] [0,3];

第1行:[1,0] [1,1] [1,2] [1,3];

第2行:[2,0] [2,1] [2,2] [2,3];

第3行:[3,0] [3,1] [3,2] [3,3];

**结束语**

所以回答Siler先生的问题:

您必须使用以下方法定义数组:

**请注意:正常的数组赋值从0开始(不是1),所以

第一个参数应该被称为factor_val [0] [0] NOT

factor_val [1] [1]并且绝对不是factor_val [1,0]。


var factor_val = new Array();

factor_val [0] = new Array();

factor_val [0] [0] = 68.8;

factor_val [0] [1] = 55;

factor_val [0] [2] = 45.5;

factor_val [0] [3] = 42.3;

等...

factor_val [1] = new Array();

factor_val [1] [0] = 36.7;

factor_val [1] [1] = 31;

等......

等......


我认为你得到我的漂移。


祝你好运,

Juliette


I don''t agree and the NS javascript specs agree with me: there are
multidimensional arrays in Javascript, except you have to define them
slightly differently from what has been done in the sample code.

The following comes straight from the Client-Side Javascript Reference
(v 1.3):

** START QUOTE **

Example 2: Two-dimensional array. The following code creates a
two-dimensional array and assigns the results to myVar.

myVar="Multidimensional array test; "
a = new Array(4)
for (i=0; i < 4; i++) {
a[i] = new Array(4)
for (j=0; j < 4; j++) {
a[i][j] = "["+i+","+j+"]"
}
}
for (i=0; i < 4; i++) {
str = "Row "+i+":"
for (j=0; j < 4; j++) {
str += a[i][j]
}
myVar += str +"; "
}

This example assigns the following string to myVar (line breaks are used
here for readability):

Multidimensional array test;
Row 0:[0,0][0,1][0,2][0,3];
Row 1:[1,0][1,1][1,2][1,3];
Row 2:[2,0][2,1][2,2][2,3];
Row 3:[3,0][3,1][3,2][3,3];

** END OF QUOTE **
So to answer Mr Siler''s question:
You have to define your array using the following method:
** Please take note: normal array assignments start at 0 (not at 1), so
the first argument should be refered to as factor_val[0][0] NOT
factor_val[1][1] and definitely NOT factor_val[1,0].

var factor_val = new Array();
factor_val[0] = new Array();
factor_val[0][0] = 68.8;
factor_val[0][1] = 55;
factor_val[0][2] = 45.5;
factor_val[0][3] = 42.3;
etc...
factor_val[1] = new Array();
factor_val[1][0] = 36.7;
factor_val[1][1] = 31;
etc...
etc...

I presume you get my drift.

Good luck,
Juliette


Juliette<" jrf [spamblock]" @ jokeaday.net>写道:
Juliette <"jrf[spamblock]"@jokeaday.net> writes:
Evertjan。写道:
"Evertjan." wrote:

M.Siler于2003年11月16日在comp.lang.javascript中写道
> var factor_val = new Array(8,7)
>
美国没有猫,
我的意思是Javascript中没有多维数组。

< ; script>

var factor_val = new Array(8,7)
alert(factor_val [0])//显示8
alert(factor_val [1] )//显示7

< / script>

- Evertjan。
荷兰。
(请更改x 我的电子邮件地址中的点数
> var factor_val = new Array(8,7)
>
There are no cats in America,
I mean there are no multidimensional arrays in Javascript.

<script>

var factor_val = new Array(8,7)

alert(factor_val[0]) // shows 8
alert(factor_val[1]) // shows 7

</script>

--
Evertjan.
The Netherlands.
(Please change the x''es to dots in my emailaddress)



我不同意和NS javascript规范同意我:Javascript中有多维数组,除了你有定义它们与示例代码中的内容略有不同。


I don''t agree and the NS javascript specs agree with me: there are
multidimensional arrays in Javascript, except you have to define them
slightly differently from what has been done in the sample code.




我不同意你的意见。

Javascript中没有多维数组。没有单个数组是多维的。什么

你有的是包含数组的数组,这是一个完全不同的东西(尽管它可以用来模拟多维的

数组)他们不在。


C有多维数组。 Java没有,它只有阵列的

数组。


这是当然分裂的头发,即纯粹的问题

术语......

以下内容直接来自客户端Javascript参考
(v 1.3):

** START QUOTE **

示例2:二维数组。以下代码创建一个
二维数组,并将结果分配给myVar。


....我不同意他们使用的术语。


所以回答Siler先生的问题:
你必须使用以下方法定义你的数组:


....一个非常好的建议。

var factor_val = new Array();
factor_val [0] = new Array();
factor_val [0] [0] = 68.8;
factor_val [0] [1] = 55;
factor_val [0] [ 2] = 45.5;
factor_val [0] [3] = 42.3;
等...
factor_val [1] = new Array();
factor_val [1] [ 0] = 36.7;
factor_val [1] [1] = 31;
等...



I disagree with you. There are no multidimensional arrays in
Javascript. There is no single array that is multidimensional. What
you do have is arrays containing arrays, which is a completely
different thing (although it can be used to emulate multidimensional
arrays in their absence).

C has multidimensional arrays. Java doesn''t, it only has arrays of
arrays.

This is ofcourse splitting hairs, i.e., purely a matter of
terminology ...
The following comes straight from the Client-Side Javascript Reference
(v 1.3):

** START QUOTE **

Example 2: Two-dimensional array. The following code creates a
two-dimensional array and assigns the results to myVar.
.... and I disagree with their use of terminology.

So to answer Mr Siler''s question:
You have to define your array using the following method:
.... a perfectly good advice.
var factor_val = new Array();
factor_val[0] = new Array();
factor_val[0][0] = 68.8;
factor_val[0][1] = 55;
factor_val[0][2] = 45.5;
factor_val[0][3] = 42.3;
etc...
factor_val[1] = new Array();
factor_val[1][0] = 36.7;
factor_val[1][1] = 31;
etc...




您还可以使用数组文字:

var factor_val = [[68.8,55,45.5,42.3,39.3,34.4,30.6],

[36.7,31,...],

...

[...,2.6,2.5,2,1.7]

];


/ L

-

Lasse Reichstein Nielsen - lr*@hotpop.com

DHTML死亡颜色:< URL:http://www.infimum.dk/HT ML / rasterTriangleDOM.html>

''没有判断的信仰只会降低精神神圣。''



You can also use array literals:
var factor_val = [[68.8, 55, 45.5, 42.3, 39.3, 34.4, 30.6],
[36.7, 31, ... ],
...
[..., 2.6, 2.5, 2, 1.7]
];

/L
--
Lasse Reichstein Nielsen - lr*@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
''Faith without judgement merely degrades the spirit divine.''


这篇关于数组 - 我做错了什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆