کنترل مقادیر تکراری در آرایه در جی کویری
یک آرایه دارم که به صورت زیر مقادیر رو داخلش وارد می کنم. این آرایه توسط جی کویری ایجاد شده و کلیه عملیات وارد کردن اطلاعات درون آرایه و هر چیز دیگه ای هم توسط جی کویری انجام میشه
var resultdetails = [];
resultdetails.push({
'QuestionID' : $this.data('quesid'),
'userId' : $this.data('userid')
});
در هر بار اجرای برنامه یک مقدار از سمت کلاینت میاد و در آرایه resultdetails و در فیلدهای userid و QuestionID قرار میگیره. حالا بعضی از مقادیری که از سمت کلاینت میاد ممکنه تکراری باشه و از قبل درون آرایه push شده باشه.
نحوه کنترل مقادیر تکراری در آرایه در جی کویری به چه صورتی هست؟
می خوام اگر یک مقدار تکراری به آرایه اومد اون مقدار رو نادیده بگیره. دقت کنید که اگر هم userId و هم QuestionID تکراری بود باید از push شدن جلوگیری کنه.
پاسخ هوش مصنوعی
برای جلوگیری از ورود مقادیر تکراری به آرایه `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'));
با استفاده از این روش، می توانید از ورود مقادیر تکراری به آرایه جلوگیری کنید.
برای کنترل مقادیر تکراری در آرایه در جی کوئری می تونی یک تابع بنویسی و درون این تابع از یک حلقه 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 رو بهش ارسال کنی.
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- حذف فایلها و دستورات Css و JavaScript اضافی
- جمع کردن (Collapse) منوی جانبی موقع لود فرم در پنل AdminLte
- دلیل خطای Identifier 'X' has already been declared در جی کویری چیست ؟
- جدا کردن سه رقم سه رقم اعداد در input با جاوااسکریپت
- محدود کردن تایپ عدد یا حروف با جاوا اسکریپت
- مقایسه بین فریم ورک های Angular و React.js و Vue js
- نمایش پیغام گرافیکی با جی کویری
- تفاوت Class Component و Functional Component در React.js چیست ؟
- پراپس (Props) در React.js چیست ؟
- مقایسه مقدار اینپوت باکس با type آن در جی کویری