我希望我不重复现有的问题,我已经很努力地在网站上找到我需要的东西,但现在觉得我需要问这个问题,所以在这里,我希望你们能帮助我:sjQuery脚本不能与预先填充的数组一起工作
我有一个数组;
var 1Results = somecontent;
var 2Results = somecontent;
var 3Results = somecontent;
var 4Results = somecontent;
var nomResults = 1Results + 2Results + 3Results + 4Results;
我是应该剔除掉重复的号码并显示出来(在sorted_arr)的脚本;
var arr = nomResults;
var sorted_arr = arr.sort(); // You can define the comparing function here.
// JS by default uses a crappy string compare.
var results = [];
for (var i = 0; i < arr.length - 1; i++) {
if (sorted_arr[i + 1] == sorted_arr[i]) {
results.push(sorted_arr[i]);
}
}
此脚本不起作用,但是我将脚本更改为此;
var arr = [9, 9, 111, 2, 3, 4, 4, 5, 7];
var sorted_arr = arr.sort(); // You can define the comparing function here.
// JS by default uses a crappy string compare.
var results = [];
for (var i = 0; i < arr.length - 1; i++) {
if (sorted_arr[i + 1] == sorted_arr[i]) {
results.push(sorted_arr[i]);
}
}
它工作正常,任何想法,为什么的.sort()不会与我的前popluated阵列工作?
任何帮助将不胜感激。
'var nomResults = 1Results + 2Results + 3Results + 4Results;'不是数组,1Results不是有效的JavaScript标识符。它甚至不应该解析。你的意思是使用'var nomResults = [Results1,Results2,...]'? – 2014-09-04 16:19:16
对不起,只是编辑代码以反映其他数组 – Takuhii 2014-09-04 16:21:18
代码仍显示'nomResults'只是其他变量的串联。它仍然不是一个数组。这只是一个单一的价值,所以没有什么可以“排序”。你的'var arr'是一个数组(方括号内有多个以逗号分隔的值),所以它可以排序。 – mc01 2014-09-04 16:26:08