আমি একটি জেএস অবজেক্ট সম্পত্তি নাম গতিশীল সেট করা প্রয়োজন।
for(i=1; i<3; i++) {
var key = i+'name';
data = {
key : 'name1',
}
}
ফলাফল হওয়া উচিত:
data = {
1name: 'name1'
2name: 'name1'
}
আমি একটি জেএস অবজেক্ট সম্পত্তি নাম গতিশীল সেট করা প্রয়োজন।
for(i=1; i<3; i++) {
var key = i+'name';
data = {
key : 'name1',
}
}
ফলাফল হওয়া উচিত:
data = {
1name: 'name1'
2name: 'name1'
}
উত্তর:
var jsonVariable = {};
for(var i=1; i < 3; i++) {
jsonVariable[i + 'name'] = 'name' + i;
}
[]পরিবর্তনশীল কীগুলি সেট করতে আপনাকে স্বরলিপি ব্যবহার করতে হবে ।
var jsonVariable = {};
for(i=1; i<3; i++) {
var jsonKey = i+'name';
jsonVariable[jsonKey] = 'name1';
}
এখন ES6- এ আপনি বস্তুটির আক্ষরিক সিনট্যাক্স ব্যবহার করতে পারেন বস্তু কীগুলি গতিশীলভাবে তৈরি করতে, কেবলমাত্র ভেরিয়েবলটি মোড়ানো []
var key = i + 'name';
data = {
[key] : 'name1',
}
ECMAScript 6 এর সাহায্যে আপনি অবজেক্ট আক্ষরিক সিনট্যাক্সের সাহায্যে ভেরিয়েবলের সম্পত্তি নামগুলি ব্যবহার করতে পারেন:
var keyName = 'myKey';
var obj = {
[keyName]: 1
};
obj.myKey;//1
এই সিনট্যাক্সটি নিম্নলিখিত নতুন ব্রাউজারগুলিতে পাওয়া যায়:
এজ 12+ (কোনও আইই সমর্থন নেই), এফএফ 34 +, ক্রোম 44+, অপেরা 31+, সাফারি 7.1+
( https://kangax.github.io/compat-table/es6/ )
আপনি একটি ব্যবহার করে পুরোনো ব্রাউজারে সমর্থন যোগ করতে পারেন transpiler যেমন Babel । আপনি যদি রোলআপ বা ওয়েবপ্যাকের মতো কোনও মডিউল বান্ডিলার ব্যবহার করেন তবে একটি সম্পূর্ণ প্রকল্পের স্থানান্তর করা সহজ ।
উপরে সায়নাথ এসআর এর মন্তব্যের লাইন ধরে আমি গুগল অ্যাপস স্ক্রিপ্টের একটি ভেরিয়েবল থেকে জেএস অবজেক্ট সম্পত্তি নাম সেট করতে সক্ষম হয়েছি (যা এখনও ইএস 6 সমর্থন করে না) বস্তুর সংজ্ঞা দিয়ে তারপরে অবজেক্টের বাইরের অন্য কী / মানটি সংজ্ঞায়িত করে:
var salesperson = ...
var mailchimpInterests = {
"aGroupId": true,
};
mailchimpInterests[salesperson] = true;