Home Php C# Sql C C++ Javascript Python Java Go Android Git Linux Asp.net Django .net Node.js Ios Xcode Cocoa Iphone Mysql Tomcat Mongodb Bash Objective-c Scala Visual-studio Apache Elasticsearch Jar Eclipse Jquery Ruby-on-rails Ruby Rubygems Android-studio Spring Lua Sqlite Emacs Ubuntu Perl Docker Swift Amazon-web-services Svn Html Ajax Xml Java-ee Maven Intellij-idea Rvm Macos Unix Css Ipad Postgresql Css3 Json Windows-server Vue.js Typescript Oracle Hibernate Internet-explorer Github Tensorflow Laravel Symfony Redis Html5 Google-app-engine Nginx Firefox Sqlalchemy Lucene Erlang Flask Vim Solr Webview Facebook Zend-framework Virtualenv Nosql Ide Twitter Safari Flutter Bundle Phonegap Centos Sphinx Actionscript Tornado Register | Login | Edit Tags | New Questions | 繁体 | 简体


10 questions online user: 21

0
votes
answers
22 views
+10

array_multisort按值最接近今天的日期排序

0

有沒有辦法使用array_multisort與自定義順序?我需要按照日期順序顯示結果,第一個日期是距離今天最近的日期,正如您從matchDate字段下面的代碼中看到的那樣,字符串以字符串形式出現,然後我將其轉換爲日期值。array_multisort按值最接近今天的日期排序

foreach($matchLists as $matchList) 
{ 

    $fixtures[] = $matchList['matchDate']; 

} 

array_multisort($fixtures, SORT_DESC, $matchLists); 


$newlist = array(); 

    foreach($matchLists as $key => $matchitem) 

{ 
    if(array_key_exists('matchDate', $matchitem)) 
    { 

     $newlist[$matchitem['matchDate']][$key] = ($matchitem); 

    } 


} 
    foreach($newlist as $key => $value) 
    { 
     $fixtureDate = date('D j M Y ga', strtotime($key)); 
     } 
沙发
0
0

是的,看看我的previous answer on SO:

<?php  
$events = array(
    'event1' => array(
     'event_name' => 'Title for Event 1', 
     'event_date' => '2017-11-1' 
    ), 
    'event3' => array(
     'event_name' => 'Title for Event 1', 
     'event_date' => '2017-10-13' 
    ), 
    'event4' => array(
     'event_name' => 'Title for Event 1', 
     'event_date' => '2017-11-10' 
    ), 
    'event2' => array(
     'event_name' => 'Title for Event 1', 
     'event_date' => '2017-10-22' 
    ), 
); 

function date_compare($a, $b) 
{ 
    // note that the variables are calling for the date part of the array 
    // if you are using assoc array from mysql just change the value 
    // to your row name 
    $t1 = strtotime($a['event_date']); 
    $t2 = strtotime($b['event_date']); 
    return $t1 - $t2; 
}  
usort($events, 'date_compare'); 
print_r($events); 

一個在這裏,您有日期的數組,創建date_compare功能,然後usort基於日期排序的數組。

希望這有助於

+0

感謝,這有它現在至少顯示正確的日期順序雖然最早日期第一,雖然 – rmsGreig

+0

更爲整潔,您可以修改功能,同時選擇最接近的日期到今天,甚至可能刪除過去的日期 – Samuel

0
votes
answers
22 views
+10

如何將js中的對象數組中的輸入字段分組(請參閱圖像)

0

我必須爲圖像中所示的審計安排多個動態部門進行驗證。如何將js中的對象數組中的輸入字段分組(請參閱圖像)

問題是我必須使用日期將這些輸入值日期,從和To分組到一個js對象數組中。 例如: 所有的時間段應該在同一日期內聚集在一起。像下面的東西。

schedule_obj=[ 
     {"18-11-2017":[ 
      {"From":"08:00am","To":"10:am"}, 
      {"From":"10.00am","To":"12:00pm"} 
     ]}, 
     {"19-11-2017":[ 
      {"From":"08:00am","To":"10:am"}, 
      {"From":"10.00am","To":"12:00pm"} 
     ]} 
    ]; 

日期字段級date

從字段級from

爲了領域擁有一流的to

Example of the issue

如何從陣列檢索每場?

+0

如果我理解正確的話,那麼你有UI準備就緒,要創建這個UI看起來像上面的例子對象?另外,你將如何處理部門? –

+0

我想創建數組來驗證日期和時間是其他部分。首先,我需要如何對它們進行分組和檢索值。 –

+1

你可以創建一個簡化問題的提琴手/笨蛋嗎?在這種情況下制定解決方案很容易。 –

沙发
0
0

你可以使用對象而不是數組,這樣

let scheduled_audits = { 
    "18-11-2017":[ 
     {"From":"08:00am","To":"10:am"}, 
     {"From":"10.00am","To":"12:00pm"} 
    ], 
    "19-11-2017":[ 
     {"From":"08:00am","To":"10:am"}, 
     {"From":"10.00am","To":"12:00pm"} 
    ] 
}; 
// ... 
displaySchedule(scheduled_audits["18-11-2017"]); 
0
votes
answers
16 views
+10

將字符串數組從WWW轉換爲Unity3d中的類列表

0

我在將WWW字符串數組轉換爲類列表時遇到了一些麻煩。我想要做的是實例化一個預製件,其中包含許多文本元素。 這是基礎類將字符串數組從WWW轉換爲Unity3d中的類列表

public class VehicleIndex : MonoBehaviour 
{ 
    public string ID{ get; set;} 
    public string Make{ get; set;} 
    public string Model{ get; set;} 
    public string Year{ get; set;} 
    public string Mileage{ get; set;} 


    public VehicleIndex(string id, string make, string model, string year, string mileage) 
    { 
     this.ID = id; 
     this.Make = make; 
     this.Model = model; 
     this.Year = year; 
     this.Mileage = mileage; 
    } 



} 

下面是從MySQL數據庫獲取WWW數據的功能

public List<VehicleIndex> VehicleIndexList = new List<VehicleIndex>(); 
    public string[] VehicleStringArray; 

    public IEnumerator GetAllVehicles() 
    { 
     WWW VehicleData = new WWW ("http://localhost/CMVM/LoadVehicle.php"); 
     yield return VehicleData; 

     Debug.Log (VehicleData.text); 
     string TheVehicleData = VehicleData.text; 
           The information comes back just fine.  
     if(TheVehicleData[TheVehicleData.Length - 1] == '/') 
     { 
     TheVehicleData.TrimEnd('/');  Here I'm removing the delimiter 
     } 
     string[] results = TheVehicleData.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries); 
     for (int i = 0; i < results.Length; i++) 
     { 
     Debug.Log (results[i]); 
     } 
     VehicleStringArray = results; The results go back into an array 

     VehicleIndexList = VehicleStringArray.Select(sArr => new VehicleIndex 
     { 
      ID=VehicleStringArray[0], 
      Make=VehicleStringArray[1], 
      Model=VehicleStringArray[2], 
      Year=VehicleStringArray[3], 
      Mileage=VehicleStringArray[4] 
     }).ToList(); 


    } 

它看起來像它應該只是工作,它給人的錯誤:類型VehicleIndex' does not contain a constructor that takes 0'論據 我錯過了什麼?我需要爲課堂增添些什麼嗎?一個列表?數組? 感謝您的幫助!對此,我真的非常感激。

ADDITIONAL- 添加對象初始

public VehicleIndex Vi; 

然後改變了lambda表達式

VehicleIndexList = VehicleStringArray.Select(sArr => new VehicleIndex 
    { 
     Vi.ID==VehicleStringArray[0], 
     Vi.Make==VehicleStringArray[1], 
     Vi.Model==VehicleStringArray[2], 
     Vi.Year==VehicleStringArray[3], 
     Vi.Mileage==VehicleStringArray[4] 
    }).ToList(); 

只有這樣,才能避免紅線是使用雙相等。我不確定這是否正確,因爲它仍然不能正常工作,我猜不是。

+0

那麼,'VehicleIndex'有一個沒有任何參數的構造函數?如果不是,你可以創建一個或在你的'Select'投影中調用一個構造函數。 –

+0

哎呦,貼錯了班。 –

沙发
0
1

你有一個構造函數的所有屬性作爲參數;只是用這個來代替對象初始化:

VehicleIndexList = VehicleStringArray.Select(sArr => new VehicleIndex 
    (
     VehicleStringArray[0], 
     VehicleStringArray[1], 
     VehicleStringArray[2], 
     VehicleStringArray[3], 
     VehicleStringArray[4] 
    )).ToList(); 

但是請注意,這contructors通常只需要那些PARAMATERS需要的對象才能正常工作。如果屬性值不是必需的,那麼移除構造函數並使用初始化語法(new VehicleIndex { })代替沒有任何問題。

+0

因此,類似於:VehicleIndex Vi = new VehicleIndex(param1,param2,param3等);然後在lambda Vi.ID = VehicleSt4ringArray [0]中。等等...我在球場D嗎?如果沒有,請分解它,lambda和WWW陣列對我來說是新的。 –

+0

現在非常困惑。獲取錯誤:由於類型'VehicleIndex'沒有實現'System.Collections.IEnumerable'接口 –

+0

無法確定爲什麼添加'public VehicleIndex Vi;'並且更改了該屬性'VehicleIndex'無法用集合對象初始值設定項初始化查詢你做的方式。如果你只是將lambda更改爲我給你的語法,它應該可以正常工作。要麼或者刪除你有的構造函數。 –

板凳
0
0

這基本上是同樣的事情,JavaScript的加入()

String.Join Method

0
votes
answers
9 views
+10

如何使while循環中的迭代值數組超出

-2

我在一個正在製作日期的while循環中有一個變量。我希望將while循環的每次迭代中生成的所有日期轉換爲while循環外的數組。這可能嗎?如何使while循環中的迭代值數組超出

while($row=mysql_fetch_array($sq)) 
    { 
    extract($row); 
    $startDate = date("d-m-Y", strtotime($created_on. ' + '.$days_for_start.' days')); 
    $end_date = date("d-m-Y", strtotime($created_on. ' + '.$days_for_end.' days')); 
    } 

print_r($end_date); 

//should output, 24-03-2017 for number of times the loop is running, in an array. 
+0

inside'while' loop use this'$ end_date [] = ...' –

+0

使用數組例如'$ end_dates = [];'循環前和'$ end_dates [] =日期...'循環內然後'print_r($ end_dates)'外循環 – apokryfos

+0

對不起,沒有成功:(@SahilGulati – Ansh

沙发
0
1
$end_date = array(); 
while($row=mysql_fetch_array($sq)) 
{ 
    extract($row); 
    $startDate = date("d-m-Y", strtotime($created_on. ' + '.$days_for_start.' days')); 
    $end_date[] = date("d-m-Y", strtotime($created_on. ' + '.$days_for_end.' days')); 
} 

print_r($end_date); 

更新一個

//用來$end_date_tmp變量作爲數組。

$end_date_tmp = array(); 
while($row=mysql_fetch_array($sq)) 
{ 
    extract($row); 
    $startDate = date("d-m-Y", strtotime($created_on. ' + '.$days_for_start.' days')); 
    $end_date_tmp[] = date("d-m-Y", strtotime($created_on. ' + '.$days_for_end.' days')); 
} 

print_r($end_date_tmp); 
+0

對不起,但不工作。其實我不能把end_date放到while循環裏面的數組中嗎? – Ansh

+0

分享你的代碼和數據比我可以幫你... –

+0

添加代碼 – Ansh

0
votes
answers
22 views
+10

比較整個陣列線爲一組變量

-1

什麼,我試圖做的很簡單:我想尋找一組變量數組的整條生產線比較,以這樣的:比較整個陣列線爲一組變量

var[2][]=={1,2,3,4,5} //all at the same time

代替

var[2][0]==1 && var[2][1]==2 && var[2][2]==3 && var[2][3]==4 && var[2][4]==5 //one by one

也許

vartwo[4][3...7]==var[2][] ou vartwo[4][]==var[2][]

void main() { 
    int i,var[5]; 
    puts("enter values:"); 

    for(;i<5;i++) { 
     scanf("%d",&var[i]); 
    }; 

    if(var[]=={1,1,1,0,0,0}) { 
     //do stuff 
    } else if (var[]=={1,2,3,5,2}) { 
     //do something else 
    } 
    . 
    . 
    . 
    } else { 
     //not found 
    } 
} 

有沒有什麼辦法可以做到這一點?

+1

抱負是一件高尚的事情。請注意,您實際上沒有提出任何問題。 – AlexP

沙发
0
2

對不起,但沒有辦法可以比較兩個陣列,如你在C中顯示的方式。

簡單的舊循環元素明智的比較是出路。

for(size_t i = 0; i < len ; i++) 
    if(arr[i] == anotherarr[i]) 
    // same 

memcmp是一種選擇,但除非你能保證不會有任何填充你不能可靠地使用它。

0
votes
answers
20 views
+10

統一存儲在C項目#

0

所以我有100個項目,我需要存儲在某種數組。 每個項目都有一個att,def,cost,lvl,name和id(數組鍵)值統一存儲在C項目#

什麼是最好的存儲方式,請記住我需要對att和def值進行排序降序。雖然我已經很容易地使用PHP做到了這一點,但我在使用C#時遇到了一些麻煩

如果任何人都可以幫助提供一個工作示例,只是幾個項目,這將是非常感謝。

我使用的統一和C#

+0

Generic列表和一些Linq代碼應該足以解決你的問題中提到的所有問題 – Steve

沙发
0
1

定義一個結構來存儲所有的屬性:

class Enemy 
{ 
    public int Attack { get; set; } 
    public int Defend { get; set; } 
    public int Cost { get; set; } 
    public .... 
} 

然後,所有存儲在一個列表:

var enemies = new List<Enemy>(); 
... 

您可以通過敵人排序任何東西

var sortedEnemies = enemies.OrderBy(item => item.Attack).ToList(); 
0
votes
answers
23 views
+10

使用Javascript(的NodeJS) - 陣列和mysql的對象批量插入的轉換(Sequelize)

2

這是我的JSON:使用Javascript(的NodeJS) - 陣列和mysql的對象批量插入的轉換(Sequelize)

{ 
    "senderName": "ifelse", 
    "message": "Hi", 
    "groups": [ 
    { 
     "id": 14, 
     "groupname": "Angular", 
     "contactgroups": [ 
     { 
      "id": 1, 
      "contact": { 
       "id": 1, 
       "gsm": "123456789" 
      } 
     }, 
     { 
      "id": 3, 
      "contact": { 
       "id": 2, 
       "gsm": "111111111" 
      } 
     }], 
     "select": true 
    }], 
    "draftData": { 
     "contacts": [ 
     ] 
    } 
} 

如何讓上面的JSON到:

[{phoneno: 123456789; sender: ifelse ; message: Hi},{phoneno: 11111111; sender: ifelse ; message: Hi}] 

我想從gsm對象密鑰

哪一個是最好的方法來做到這一點?爲或爲每個或另一個?

+1

只有一個這樣的記錄或有多個記錄,這樣你的JSON? –

+3

我需要這個確切的json對象:) –

沙发
0
4

我想,這是你想要的。使用mapcontactgroups轉換爲phoneno的新陣列。

var data = { 
 
    "senderName": "ifelse", 
 
    "message": "Hi", 
 
    "groups": [{ 
 
    "id": 14, 
 
    "groupname": "Angular", 
 
    "contactgroups": [{ 
 
     "id": 1, 
 
     "contact": { 
 
      "id": 1, 
 
      "gsm": "123456789" 
 
     } 
 
     }, 
 
     { 
 
     "id": 3, 
 
     "contact": { 
 
      "id": 2, 
 
      "gsm": "111111111" 
 
     } 
 
     } 
 
    ], 
 
    "select": true 
 
    }], 
 
    "draftData": { 
 
    "contacts": [] 
 
    } 
 
} 
 

 
var result = data.groups[0].contactgroups.map(i => { 
 
    return { 
 
    phoneno: i.contact.gsm, 
 
    sender: data.senderName, 
 
    message: data.message 
 
    } 
 
}) 
 

 
console.log(result);

0
votes
answers
30 views
+10

如何訪問嵌套散列/數組中的元素,給定類似「a.b.0.x」的路徑?

-1

我有一個嵌套的散列/陣列,例如:如何訪問嵌套散列/數組中的元素,給定類似「a.b.0.x」的路徑?

target = { 
    :a => { 
    "b" => [ 
     { 
     :x => "here" 
     } 
    ] 
    } 
} 

其中散列鍵是從來沒有的數字。給定一串由"."(例如"a.b.0.x")表示的target[:a]["b"][0][:x]之間的索引/鍵,我如何訪問相應的元素?

+1

問題尚不清楚。你怎麼知道字符串中的「a」部分是爲了「:a」還是「a」?你怎麼知道'0'是否爲'0','「0」'或':0'? – sawa

+2

我不認爲這是很好的編碼口味。 – Daniel

+0

@Daniel爲什麼呢?它是例如完全有效的快速調整巨大的配置。作爲用戶_,我當然會感謝開發人員通過點符號提供了對設置的訪問權限。 – mudasobwa

沙发
0
4
path = "a.b.0.x" 

path.split('.').reduce(target) do |acc, val| 
    case acc 
    when Array 
    break nil unless /Ad+z/ === val 
    acc[val.to_i] 
    when Hash 
    next acc[val.to_i] if /Ad+z/ === val && acc[val.to_i] 
    acc[val] || acc[val.to_sym] 
    else break nil 
    end 
end rescue nil 
#⇒ "here" 
+1

鑑於rails:'target.with_indifferent_access.dig (* path.split( ''))'。如果不需要漠不關心的訪問,那麼active_support也是如此。 –

+0

@SergioTulentsev給定標籤指定Rails糟透了(像往常一樣:) – mudasobwa

+0

啊,也有陣列。在這種情況下,你的答案確實更好。 –

板凳
0
2

鑑於這種訪問的邊緣情況,我建議創建一個新的類來處理這種情況並將輸入均勻化爲一致的結構。在這種情況下,Hash(可能更邊緣的情況下評論歡迎

class DepthAccessor 
    class AccessFailure < StandardError 
    def initialize(val,current=nil,full=nil,depth=nil) 
     super(
     if full && depth 
      "Failed to find #{val.inspect} for #{current.inspect}:#{current.class} in #{full.inspect} at depth #{depth}" 
     else 
      val 
     end 
    ) 
    end 
    end 

    def initialize(target) 
    raise ArgumentError, "#{target.inspect}:#{target.class} must respond_to :each_with_object" unless target.respond_to?(:each_with_object) 
    @target = homogenize(target) 
    end 

    def path_search(path,sep: '.',raise_on_fail: true) 
    split_path = path.split(sep) 
    split_path.each_with_index.inject(@target) do |acc,(val,idx)| 
     begin 
     acc.is_a?(Hash) ? acc[val] : raise 
     rescue StandardError 
     if raise_on_fail 
      raise AccessFailure.new(val,acc,@target,split_path[0..idx].join(sep)) 
     else 
      nil 
     end 
     end 
    end 
    end 


    private 

    def homogenize(val) 
     case val 
     when Array 
      val.each_with_index.with_object({}) {|(v,idx),obj| obj[idx.to_s] = homogenize(v) } 
     when Hash 
      val.each_with_object({}) { |(k,v),obj| obj[k.to_s] = homogenize(v) } 
     else 
      val 
     end 
    end 
end 

當你創建一個新的實例中的所有鍵都轉換爲Strings和所有Array轉換爲使用indexkey

Hash ES

然後使用這樣

target = { 
    :a => { 
    "b" => [ 
     { 
     :x => "here" 
     } 
    ] 
    } 
} 

DepthAccessor.new(target).path_search('a.b.0.x') 
#=> "here" 
DepthAccessor.new(target).path_search('a.b.c.x') 
#=> Failed to find "c" for {"0"=>{"x"=>"here"}}:Hash in {"a"=>{"b"=>{"0"=>{"x"=>"here"}}}} at depth a.b.c 

Full Example

如果Array小號的預訂要求那麼這裏是另一個例子(有一些額外的功能)Example

0
votes
answers
13 views
+10

我的java程序不工作,我跑了代碼和排序是不正確的

-2

這裏是我的教練問題:我的java程序不工作,我跑了代碼和排序是不正確的

  1. 加載數據的下列物品進入從鍵盤交互的數組。
  2. 按照輸入順序打印數據。
  3. 使用選擇排序以升序對數據進行排序。
  4. 按排序順序打印數據。
  5. 使用冒泡排序以降序對數據進行排序。
  6. 按排序順序打印數據。

這些數據項,您將使用: 本田,雪佛蘭,福特,勞斯萊斯,奔馳

import java.util.Scanner; 

public class Example532 { 

    public static void main(String[] args) { 
     Scanner scan = new Scanner(System.in); 

     String[] list = new String[5]; 
     System.out.println("Enter data: "); 
     for (int i=0; i<5; i++) { 
      list[i] = scan.nextLine(); 
     } 

     System.out.println("Current data:"); 
     for (int i=0; i<5; i++) { 
      System.out.println(list[i]); 
     } 
     // call selection sort 
     doSelectionSort(list); 
     // print out current array 
     System.out.println("Sorted data:"); 
     for (int i=0; i<5; i++) { 
      System.out.println(list[i]); 
     } 
     // call bubble sort 
     doBubbleSort(list); 
     System.out.println("Bubble Sorted data:"); 
     for (int i = 0; i < 5; i++) { 
      System.out.println(list[i]); 
     }   

    } 

    public static String[] doSelectionSort(String[] arr){ 
     for (int i = 0; i < arr.length - 1; i++) 
     { 
      int index = i; 
      for (int j = i + 1; j < arr.length; j++) 
       if (arr[j].compareTo(arr[index]) < 0) 
        index = j; 

      String smaller = arr[index]; 
      arr[index] = arr[i]; 
      arr[i] = smaller; 
     } 
     return arr; 
    }  

    public static void doBubbleSort(String[] arr) { 
     boolean swapped = true; 
     int j = 0; 
     String tmp; 
     while (swapped) { 
      swapped = false; 
      j++; 
      for (int i = 0; i < arr.length - j; i++) { 
       if (arr[i].compareTo(arr[i + 1]) < 0) { 
        tmp = arr[i]; 
        arr[i] = arr[i + 1]; 
        arr[i + 1] = tmp; 
        swapped = true; 
       } 
      } 
     } 
    }   
} 
+0

首先,什麼是你想通過吃'for'循環的括號來實現?這不是很好的編碼習慣。 – Ravi

+0

當我運行這個,它的工作。你碰到什麼(確切)問題? – Stefan

+0

它沒有按正確順序排序 –

沙发
0
0

要按長度排序,而不是

if (arr[j].compareTo(arr[index]) < 0) 

用途:

if (arr[j].length() < arr[index].length()) 

(你需要做的在多個地方此更新。)

+0

任何可能的方式,你可以重寫代碼? –

+0

我們正在談論兩行代碼。一個我爲你做的,所以它基本上是複製/粘貼。另一個也很容易。你能行的! :) – Stefan

+0

大聲笑,我得到了第一個工作,但我仍然掙扎與第二個,也許會導致其凌晨3點 –

0
votes
answers
21 views
+10

Javascript - Chrome控制檯 - 「Array(0)」是什麼意思?

-3

我正在使用Console.log來標識函數的數組值。而檢查控制檯I看到一些地方陣列(0)存在:Javascript - Chrome控制檯 - 「Array(0)」是什麼意思?

enter image description here

特別是,我已創建的密鑰值對的陣列(見「x」和「testedElements」(相同的對象)在上面的圖片底部)

當我展開「數組(0)」位於數組元素的頂部時......我不確定「數組(0)的含義是什麼意思。 。它是否意味着這個元素是一個數組? enter image description here

我實際上是試圖重新創建「全部菜單」在控制檯圖片的頂部,但我有「陣列(0)」顯示在被測試元素/ x的中間...

+6

它意味着一個長度爲零的數組。 – JJJ

+0

它被初始化爲數組,但具有對象結構。 –

沙发
0
1

這就是Chrome在控制檯的值摘要中顯示0長度數組。由於JavaScript的特性,空數組仍然可以包含字段。

var obj = {}; 
obj.array = []; 
obj.array.myField = 1; 
console.log(obj); 

這將登錄控制檯以下:

> {array: Array(0)} 

當我展開:

{array: Array(0)} 
    array: Array(0) 
    myField: 1 
    length: 0 
    __proto__: Array(0) 
    __proto__: Object 

這表明命名字段不是一個數組項。

如果你想要一個關聯數組(具有命名索引的數組),你應該使用普通的JavaScript對象。

var obj = {}; 
obj.A = 10; 
+0

有時你必須提出最基本的問題,所以打我-4是有點挫敗有問題和答案論壇學習的目的。這個答案有效。我們中的一些人正處於陡峭的學習曲線中,無論好壞。順便說一句,這個答案很有幫助。我將初始化從「elementWithNav = Array()」更改爲「elementWithNav = {}」,這解決了我的問題。感謝Wazner/Miquel。 – si2030

+0

@ si2030我沒有降低你的問題,但我認爲人們可能會倒下的原因是因爲你的問題沒有問你的實際問題。它本身對你有幫助,但它可能不會幫助其他人,因爲問題是關於症狀(控制檯中的意外顯示)而不是問題(數組與對象的命名鍵)。 – Wazner