دسته بندی ها
23:29 1398/12/05

کنترل مقادیر تکراری در آرایه در جی کویری

مشخصات سوال کننده :
کاربر : mobile_app     امتیاز کاربر : 18     رتبه کاربر : 40
دسته بندی : جاوا اسکریپت جی کوئری

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2936
هوش مصنوعی

پاسخ هوش مصنوعی

برای جلوگیری از ورود مقادیر تکراری به آرایه `resultdetails` در جی کویری، می توانید قبل از اینکه مقداری را به آرایه اضافه کنید، بررسی کنید که آیا آن مقدار قبلاً وجود دارد یا خیر.

در کد زیر، یک تابع اضافه شده است که بررسی می کند آیا ترکیب `userId` و `QuestionID` قبلاً در آرایه موجود است یا خیر. اگر موجود نبود، مقدار جدید به آرایه اضافه می شود.

   
var resultdetails = [];

function addDetail(quesId, userId) {
    // بررسی وجود مقدار تکراری
    var exists = resultdetails.some(function(detail) {
        return detail.QuestionID === quesId && detail.userId === userId;
    });

    // اگر مقدار تکراری وجود نداشت، آن را اضافه کن
    if (!exists) {
        resultdetails.push({
            'QuestionID': quesId,
            'userId': userId
        });
    }
}

// استفاده از تابع
addDetail($this.data('quesid'), $this.data('userid'));

با استفاده از این روش، می توانید از ورود مقادیر تکراری به آرایه جلوگیری کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 15:04 1398/12/08

برای کنترل مقادیر تکراری در آرایه در جی کوئری می تونی یک تابع بنویسی و درون این تابع از یک حلقه for استفاده کنید

 

function checkArray(userId) {
                for (var i in resultdetails) {
                    if (array[i].userId == userId) {
                        //nothing
                    }
                    else{
                          resultdetails.push({
                         'QuestionID' : $this.data('quesid'),
                         'userId' : $this.data('userid')
                    }    
                }
            }

 

حالا کافیه هر جایی که لازم داشتی مقادیر تکراری در آرایه در جی کوئری کنترل بشه تابع بالا رو صدا بزنی و مقدار userId رو بهش ارسال کنی.

به این پاسخ امتیاز بدهید    0
امتیاز: 1635 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود