2016-02-01 33 views
1

我想詞表陣列和陣列的wordCount排序。他們是parralel數組,我想根據每個單詞的數量進行排序。我不能使用它的內置排序功能,所以我需要編寫一個。但我不知道爲什麼我的代碼失敗:如何通過兩個數組給函數在JavaScript

wordList = ["apple", "have", "pear", "here"]; 
wordCount = [3, 1, 3, 5]; 
sortWords(wordList, wordCount); 
function sortWords(arr1, arr2) { 
..... 
} 

請問我的代碼成功這兩個數組傳遞給函數?

+4

「難道我的代碼成功這兩個數組傳遞給函數?」對。 – nem035

+0

如果它不起作用,請將該功能移到其餘代碼的上方。 – wanovak

+2

它是如何失敗的?你會得到什麼錯誤? – j08691

回答

2

是..它的工作原理。你應該使用varlet初始化變量。

function sortWords(arr1, arr2) { 
    alert(arr1.length + arr2.length); // gives 8 it works! 
} 

var wordList = ["apple", "have", "pear", "here"]; 
var wordCount = [3, 1, 3, 5]; 
sortWords(wordList, wordCount); 
1

我想你想要的是以下幾點:

wordList.sort(function(a, b){ 
    return b.length - a.length; 
} 

這將在一個簡單的步驟從排序上最長的單詞,以最短的單詞列表。

0

正確地傳遞陣列功能。想要測試它嗎?

var wordList = ["apple", "have", "pear", "here"], 
    wordCount = [3, 1, 3, 5]; 

sortWords(wordList, wordCount); 

function sortWords(arr1, arr2) { 
    for(fruits in arr1){ 
     console.log(arr1[fruits]); 
    } 
    for(numbers in arr2){ 
    console.log(arr2[numbers]); 
    } 
} 

注意

  1. 使用前總是初始化變量,以避免有關scope任何問題。
  2. 看看你的瀏覽器的控制檯爲了看到上面測試的輸出結果。

有任何問題嗎?請隨時在下面的評論中提問。

相關問題