0

テーブル内の特定の値をカウントするのを手伝ってください。

次の形式のデータがあります。

var data = {
    "metadata": ["FZ", "CS", "CU", "CZ"],
        "values": [
        ["CON", "184.0", "null", "null"],
        ["ERG SRL", "35.0", "null", "57.0"],
        ["IO", "6.0", "null", "null"],
        ["IND", "null", "1753.0", "null"],
        ["LIXL", "1644.0", "null", "3748.0"],
        ["MOXRL", "2285.0", "null", "0.0"],
        ["MOLXL", "11.0", "null", "0.0"],
        ["MURX", "5362.0", "null", "275.0"],
        ["STRL", "197.0", "null", "39.0"]
    ]
};

jsbinでの結果は次のとおりです。そのテーブルには、などの値がありnullます0.0

私が望むのは、キーでこの値をカウントすることだけです: 例: これは私のテーブルです:

FZ CS CU CZ
CON 184.0 ヌルヌル
ERG 35.0 null 57.0
IO 6.0 ヌルヌル
INDヌル 1753.0ヌル
LIXL 1644.0 null 3748.0
MOXRL 2285.0 null 0.0
MOLXL 11.0 null 0.0
MURX 5362.0 null 275.0
STRL 197.0 null 39.0

これが私が望む結果です:

       CS CU CZ
すべて 9 9 9
ヌル 1 8 3
0.0 0 0 2
>0 8 1 4

唯一の結果は、生成されたテーブルでセルを数えたときでしたが、ページネーションが必要な場合、これは良くありません。

.length()stackoverflow.com のいくつかの回答にcount++基づいて試しましたが、結果はありませんでした。

ヒントと回答をありがとうございました。

4

2 に答える 2

2
function countValues(values, column, search) {
  var total = 0;

  for(var i  = 0; i < values.length; i++) {
    if(values[i][column] === search)
      total++;   
  }

  return total;
}

How to use: countValues(data.values, 2, "null")

あなたの例では:

FZ is column 0   

CS is column 1

CU is column 2

CZ is column 3

十分に明確であることを願っています。

ここにフィドルがあります

ただし、AngularJSアンダースコアなどのフレームワークを使用することをお勧めします

于 2013-03-30T23:36:09.780 に答える