2016-10-21 15 views
1

データベースから複数の値を取得していますが、新しいレコードが追加されると増加します。指定された方法で配列を動的に作成する方法

私はこのようなスパンを作ってるんだ:

<span style="display:none;" class="skills" data-skill="php programing">350</span> 

<span style="display:none;" class="skills" data-skill="java programing">235</span> 

<span style="display:none;" class="skills" data-skill="python programing">289</span> 

私は動的に

Googleの円グラフを構築することができるように、この方法で

var data = google.visualization.arrayToDataTable([ 
      ['jobs', 'Jobs Available'], 
      ['php programing',  350], 
      ['java programing',  235], 
      ['python programing', 289] 
     ]); 

を配列を作成したいです

今私はこのような何かをやっています

arrayToDataTable = []; 
arrayTemp = []; 
$.each('.skills',function(i){ 
var skill = $(this).data('skill'); 
var number = $(this).text(); 
    arrayTemp.push(skill); 
    arrayTemp.push(number); 
    arrayToDataTable.push(arrayTemp); 
}); 


**my question how can i make array in this fashion dynamically:** 

    [ 
      ['jobs', 'Jobs Available'], 
      ['php programing',  350], 
      ['java programing',  235], 
      ['python programing', 289] 
     ] 

事前

+0

誤差がありますか? – Samir

+0

'console'で何を確認しましたか? – Samir

答えて

2

arrayToDataTable = []; 
 

 
$.each('.skills',function(i){ 
 
var skill = $(this).data('skill'); 
 
var number = $(this).text(); 
 
    arrayToDataTable.push([skill, number]); 
 
}); 
 

 
console.log(arrayToDataTable);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<span style="display:none;" class="skills" data-skill="php programing">350</span> 
 

 
<span style="display:none;" class="skills" data-skill="java programing">235</span> 
 

 
<span style="display:none;" class="skills" data-skill="python programing">289</span>

でのおかげで、あなたがしようとしたことがあり、私を助けてください:

arrayToDataTable.push([arrayTemp]) 
+0

@EaBangalore - 動作するスニペットを追加しました – nikjohn

+0

arrayTempの使い方は? – madalinivascu

+0

本当に何もありません。これはOPのコードからの痕跡です。私はそれをきれいにします – nikjohn

2

は、あなたが追加し続けるので、今すぐあなたのarrayTempがグローバルに定義され、適切な各構文を使用します。要素を

次のように試してください:

arrayToDataTable = [['jobs', 'Jobs Available']]; 

$('.skills').each(function(){ 
var arrayTemp = [];//local variable 
var skill = $(this).data('skill'); 
var number = $(this).text(); 
    arrayTemp.push(skill); 
    arrayTemp.push(number); 
    arrayToDataTable.push(arrayTemp); 
}); 

デモ:https://jsfiddle.net/uqxm0kf3/

か:

arrayToDataTable = [['jobs', 'Jobs Available']]; 
 
     
 
     $('.skills').each(function(){ 
 
    
 
     var skill = $(this).data('skill'); 
 
     var number = $(this).text(); 
 
      arrayToDataTable.push([skill,number]); 
 
     }); 
 
console.log(arrayToDataTable);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<span style="display:none;" class="skills" data-skill="php programing">350</span> 
 

 
<span style="display:none;" class="skills" data-skill="java programing">235</span> 
 

 
<span style="display:none;" class="skills" data-skill="python programing">289</span>

関連する問題