查看: 1440|回复: 15
|
java script coding help
[复制链接]
|
|
<html>
<head>
<script>
function sort(items){
for(var i =0;i<items.length-1;i++){
for (var j=i+1;j<items.length; j++){
if(items[i]>= items[j])
{
var temp =items[i]
items[j] = temp
}
}
}
return items
} console.log(sort([2,7,1,6]))
</script>
</head>
<body>
</body>
</html>
the answer is 2,7,1,6
我不明白为什么会得到这个答案。
<html>
<head>
<script>
function sort(items){
for(var i =0;i<items.length-1;i++){
for (var j=i+1;j<items.length; j++){
if(items[i]>= items[j])
{
var temp =items[i]
temp = items[j]
}
}
}
return items
} console.log(sort([2,7,1,6]))
</script>
</head>
<body>
</body>
</html>
the answer is 2,7,7,7
我不明白为什么会得到这个答案。
<html>
<head>
<script>
function sort(items){
for(var i =0;i<items.length-1;i++){
for (var j=i+1;j<items.length; j++){
if(items[i]>= items[j])
{
var temp =items[i]
items[i] = items[j]
items[j] = temp
}
}
}
return items
} console.log(sort([2,7,1,6]))
</script>
</head>
<body>
</body>
</html>
the answer is 1,2,6,7
我不明白为什么会得到这个答案。
这3个coding有什么不同。
|
|
|
|
|
|
|
|
发表于 24-11-2013 09:58 PM
|
显示全部楼层
这3个coding有什么不同。
你一句一句 alert 出来看不就知道了咯 = = "
|
|
|
|
|
|
|
|
发表于 25-11-2013 09:39 AM
|
显示全部楼层
首先,发代码时请用 <> 的代码模式。
其次,我个人很讨厌 for(...){ 这种coding style,看到这种不把 curly bracket 对齐的 coding style 我会怒气值飙升100%同时继续观看你的代码的意愿锐减1000%。原本你用什么 coding style 是你的自由,但是既然你特地向我发信息求救,我觉得我有权发一下牢骚。
接下来,请将 <html>,<head> 和 <body> tag 去掉,这些是无关紧要的东西,大家只对你的 Javascript 有兴趣,而不是对你的 html tag 感兴趣。
最后,我对 Javascript 并不熟悉,但是基于它的语言和C++差不多,所以我可以尝试看一看,但是我不会针对Javascript 的 syntax error 做出指正,因为我也不懂。我会把它当作C/C++来看,请自行注意 Syntax 的错误和差别。
- function sort(items)
- {
- for(var i=0;i<items.length-1;i++)
- {
- for (var j=i+1;j<items.length; j++)
- {
- if(items[i]>=items[j])
- {
- var temp =items[i]
- items[j] = temp
- }
- }
- }
- return items
- }
- console.log(sort([2,7,1,6]))
复制代码 首先,是错的。如果items[ i ] == items[j]你根本不需要进行swapping。所以使用 >= 是错的。你只需要使用 > 就行了。
其次,- var temp =items[ i ]
- items[j] = temp
复制代码 也是错的,这段代码基本上就是 items[j] = items[ i ] 的冗余版 (其实我是想说“脱裤子放屁版”,但那太粗俗了)。这并不是Swapping,而是把 items[ i ] 的内容写进 items[j] 里面,所以不管比较出来的结果谁比谁大,原本的内容都照旧被写进去,所以出来的答案永远和原本的数据一样。
第二个版本基本上和第一个版本相反,永远都是把 items[j] 写进 items[ i ] 里面,结果就变成接下来的比较中,items[ i ](也就是 7)永远大于 items[j],所以7就不断地被写进items[j]里面,所以你就会看到 2,7,7,7 了。
第三个版本才是正确的swapping。但是我不知道你的Sort()到底是要从小到大来编排,还是反之,但你的代码的确是将数据从小到大排列了。简单来讲,就是 比较A和B,如果A比B大,就将A和B对调(变成B大于A),这的确就是从小到大的排列法。 本帖最后由 geekman 于 25-11-2013 09:42 AM 编辑
|
评分
-
查看全部评分
|
|
|
|
|
|
|
发表于 25-11-2013 01:47 PM
|
显示全部楼层
function sort(items) {
for (var i = 0; i < items.length - 1; i++) {
for (var j = i + 1; j < items.length; j++) {
alert("items i :" + items[i]);
alert("items j :" + items[j]);
var bianhua = (items[i] >= items[j]) ? 'true 会改变' : "false 不会改变";
alert("if " + items[i] + ">=" + items[j] + ' ' + bianhua);
var temp = JSON.parse(JSON.stringify(items));
if (items[i] >= items[j]) {
items[j] = items[i]
}
alert("变化前:" + temp + ' 变化后 :' + items);
}
}
return items
}
alert(sort([2, 7, 1, 6])); //2777
你可以看看其中的变化,然后想一想 。
js 本身有sort 的方法了,估计楼主有另外用途吧 ^^ |
|
|
|
|
|
|
|
发表于 26-11-2013 03:35 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 26-11-2013 03:59 PM
|
显示全部楼层
数学神 发表于 26-11-2013 03:35 PM 
赞同!我也是喜欢 curly bracket 对齐~
不喜欢 for(...) {
谢谢你的支持~
我每当看到Programming相关的问题,就会不由自主的想理解并克服它,渐渐地就养成Mind Coding的习惯。
|
|
|
|
|
|
|
|
发表于 14-1-2015 12:48 PM
|
显示全部楼层
你好, 请问你是JAVA Programmer 吗?
我有一个软件的问题急需帮忙, 希望你可以PM 我联络号码。
谢谢你了
|
|
|
|
|
|
|
|
发表于 14-1-2015 02:34 PM
|
显示全部楼层
我是C++ Programmer,Java我只懂一些罢了。。。
|
|
|
|
|
|
|
|
发表于 14-1-2015 03:46 PM
|
显示全部楼层
请问你是那里的人? 方便出来面谈?
可以跟你学习学习。
|
|
|
|
|
|
|
|
发表于 14-1-2015 06:17 PM
|
显示全部楼层
我是Johor人,Java的话,我懂得不多,不敢教人,哈哈
|
|
|
|
|
|
|
|
发表于 15-1-2015 12:18 AM
|
显示全部楼层
噢, 我在吉隆坡的。 那就没办法了, 我需要另想办法
|
|
|
|
|
|
|
|
发表于 15-1-2015 01:11 AM
|
显示全部楼层
我也是johor的.SKudai
你呢 ? johor 哪里人?
交流一下呗 ^^ |
|
|
|
|
|
|
|
发表于 15-1-2015 10:02 AM
|
显示全部楼层
我在Batu Pahat。我很宅的,没有很好的理由很少出门,例如快熟面吃完了不得不出去补货,哈哈哈。
欢迎在论坛上交流吧。只是最近软件开发区很冷清,发的帖子都是招生意的占多,发问问题的很少,我就很少来这里了,要不是nickong12345回我的帖,我一时也不会来这里逛。
|
|
|
|
|
|
|
|
发表于 26-4-2015 08:55 PM
|
显示全部楼层
The third code is Bubble sort algorithm. I will suggest you print items array in each loop. Because it can let you understand step from algorithm. Please refer: http://en.wikipedia.org/wiki/Bubble_sort |
|
|
|
|
|
|
|
发表于 1-5-2015 08:21 PM
|
显示全部楼层
请问,javascript有什么fix error的方案吗?
|
|
|
|
|
|
|
|
发表于 1-5-2015 08:22 PM
|
显示全部楼层
请问,javascript有什么fix error的方案吗?
谢谢。
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|