簡體   English   中英

計算我有多少次相同的單詞

[英]Count how many times i have the same word

我的變量tag返回以下4個不同值中的一個: assistancebugevolutionmaintenance 我想算一下我有多少次這些話。 我想首先在控制台中顯示每個項目的次數。 我真的不知道該怎么做。 這是我的代碼:

function displaytickets(y){
    $.ajax({
        url: "https://cubber.zendesk.com/api/v2/users/" + y + "/tickets/requested.json?per_page=150",
        type: 'GET',
        dataType: 'json',
        cors: true ,
        contentType: 'application/json',
        secure: true,
        beforeSend: function(xhr) {
            xhr.setRequestHeader ("Authorization", "Basic " + btoa(""));
        },
        success: function(data) {
            var sortbydate = data.tickets.sort(function(a, b){ 
                return new Date(b.created_at) - new Date(a.created_at); 
            });
            var ids = $.map(data.tickets, function (data) { 
                return data.id;
            })
            localStorage.setItem("mesid", ids);

            for (i = 0; i < data.tickets.length; i++) {
                var myticket = data.tickets[i];
                var mydate = data.tickets[i].created_at;
                var created = moment(mydate).format("MM-DD-YY");
                var mytitle = data.tickets[i].subject;
                var description = data.tickets[i].description;
                var status = data.tickets[i].status;
                var tag = data.tickets[i].tags[0];
                console.log(tag);
                var myid = data.tickets[i].id;
            }

            var nbticket = data.tickets.length;
            $("#name").append('<h2 class="title">' + " " + nbticket + " ticket(s)" + '</h2>');
        },
    });
}

這是我從控制台獲取console.log(tag)

在此輸入圖像描述

你有沒有嘗試在你的for loop計算它?

var maintenance_counter = 0;
 for (i = 0; i < data.tickets.length; i++) {
    var myticket = data.tickets[i];
    var mydate = data.tickets[i].created_at;
    var created = moment(mydate).format("MM-DD-YY");
    var mytitle = data.tickets[i].subject;
    var description = data.tickets[i].description;
    var status = data.tickets[i].status;
    var tag = data.tickets[i].tags[0];
    var myid = data.tickets[i].id;

    if( tag == "maintenance" ){
        maintenance_counter++;
    }

}

alert("Total maintenance occurrence:"+ maintenance_counter);

您可以通過使用對象來存儲由字符串本身鍵入的出現次數來實現此目的。 嘗試這個:

var occurrences = {};

然后在您的success處理程序中,您可以在找到它們時添加和增加標記:

success: function(data) {
    // your code here...

    for (i = 0; i < data.tickets.length; i++) {
        // your code here...

        var tag = data.tickets[i].tags[0];
        if (occurrences.hasOwnProperty(tag)) {
            occurrences[tag]++;
        } else {
            occurrences[tag] = 1;
        }            
    }

    console.log(occurrences);
},

工作實例

創建一個對象來保存標記結果計數,類似於:

var tagCount = {};
for (i = 0; i < data.tickets.length; i++) {
  var tag = data.tickets[i].tags[0];
  if (tagCount[tag] === undefined) {
    tagCount[tag] = 1;
  } else {
    tagCount[tag] += 1;
  } 

}

console.log(tagCount);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM