CoffeeScript - Pemahaman
Di bab sebelumnya, kita telah mempelajari berbagai loop yang disediakan oleh CoffeeScript, whiledan variannya. Selain itu, CoffeeScript menyediakan struktur loop tambahan yang disebutcomprehensions.
Pemahaman ini menggantikan forloop dalam bahasa pemrograman lain, jika kita menambahkan klausa pelindung opsional dan nilai indeks array saat ini secara eksplisit. Dengan menggunakan pemahaman, kita dapat mengulang array serta objek dan pemahaman bahwa array iterasi adalah ekspresi, dan kita dapat mengembalikannya dalam fungsi atau menetapkan ke variabel.
S.No. | Pernyataan & Deskripsi |
---|---|
1 | untuk..dalam pemahaman Itu for..in pemahaman adalah bentuk dasar dari pemahaman di CoffeeScript menggunakan ini kita dapat iterasi elemen daftar atau array. |
2 | untuk..dari pemahaman Sama seperti Arrays CoffeeScriptScript menyediakan wadah untuk menyimpan pasangan nilai kunci yang dikenal sebagai objek. Kita dapat mengiterasi objek menggunakanfor..of pemahaman yang disediakan oleh CoffeeScript. |
3 | list comprehensions Itu list pemahaman di CoffeeScript digunakan untuk memetakan larik objek ke larik lain. |
Indeks pemahaman
Daftar / larik elemen memiliki indeks yang dapat digunakan dalam pemahaman. Anda dapat menggunakannya dalam pemahaman menggunakan variabel seperti yang ditunjukkan di bawah ini.
for student,i in [element1, element2, element3]
Contoh
Contoh berikut menunjukkan penggunaan indeks file for…inpemahaman di CoffeeScript. Simpan kode ini dalam file dengan namafor_in_index.coffee
for student,i in ['Ram', 'Mohammed', 'John']
console.log "The name of the student with id "+i+" is: "+student
Buka command prompt dan kompilasi file .coffee seperti yang ditunjukkan di bawah ini.
c:\> coffee -c for_in_index.coffee
Saat menyusun, ini memberi Anda JavaScript berikut.
// Generated by CoffeeScript 1.10.0
(function() {
var i, j, len, ref, student;
ref = ['Ram', 'Mohammed', 'John'];
for (i = j = 0, len = ref.length; j < len; i = ++j) {
student = ref[i];
console.log("The name of the student with id " + i + " is: " + student);
}
}).call(this);
Sekarang, buka command prompt lagi dan jalankan file CoffeeScript seperti yang ditunjukkan di bawah ini.
c:\> coffee for_in_index.coffee
Saat menjalankan, file CoffeeScript menghasilkan keluaran berikut.
The name of the student with id 0 is: Ram
The name of the student with id 1 is: Mohammed
The name of the student with id 2 is: John
Bentuk pemahaman Postfix
Sama seperti postfix if dan unless, CoffeeScript menyediakan bentuk Postfix dari Comprehensions yang berguna saat menulis kode. Dengan menggunakan ini, kita dapat menulis filefor..in pemahaman dalam satu baris seperti yang ditunjukkan di bawah ini.
#Postfix for..in comprehension
console.log student for student in ['Ram', 'Mohammed', 'John']
#postfix for..of comprehension
console.log key+"::"+value for key,value of { name: "Mohammed", age: 24, phone: 9848022338}
tunjukkan contoh
Menetapkan ke variabel
Pemahaman yang kita gunakan untuk iterasi array dapat ditempatkan ke variabel dan juga dikembalikan oleh fungsi.
Contoh
Perhatikan contoh yang diberikan di bawah ini. Di sini Anda dapat mengamati bahwa kami telah mengambil elemen dari sebuah array menggunakanfor..in pemahaman dan menetapkan ini ke variabel bernama names. Dan kami juga memiliki fungsi yang mengembalikan pemahaman secara eksplisit menggunakanreturnkata kunci. Simpan kode ini dalam file dengan namaexample.coffee
my_function =->
student = ['Ram', 'Mohammed', 'John']
#Assigning comprehension to a variable
names = (x for x in student )
console.log "The contents of the variable names are ::"+names
#Returning the comprehension
return x for x in student
console.log "The value returned by the function is "+my_function()
Buka command prompt dan kompilasi file .coffee seperti yang ditunjukkan di bawah ini.
c:\> coffee -c example.coffee
Saat menyusun, ini memberi Anda JavaScript berikut.
// Generated by CoffeeScript 1.10.0
(function() {
var my_function;
my_function = function() {
var i, len, names, student, x;
student = ['Ram', 'Mohammed', 'John'];
names = (function() {
var i, len, results;
results = [];
for (i = 0, len = student.length; i < len; i++) {
x = student[i];
results.push(x);
}
return results;
})();
console.log("The contents of the variable names are ::" + names);
for (i = 0, len = student.length; i < len; i++) {
x = student[i];
return x;
}
};
console.log("The value returned by the function is " + my_function());
}).call(this);
Sekarang, buka command prompt lagi dan jalankan file CoffeeScript seperti yang ditunjukkan di bawah ini.
c:\> coffee example.coffee
Saat menjalankan, file CoffeeScript menghasilkan keluaran berikut.
The contents of the variable names are ::Ram,Mohammed,John
The value returned by the function is Ram
Dengan kata kunci
CoffeeScript menyediakan rentang untuk menentukan daftar elemen. Misalnya, rentang [1..10] sama dengan [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] di mana, setiap elemen bertambah 1. Kita juga bisa mengubah kenaikan ini menggunakanby kata kunci pemahaman.
Contoh
Contoh berikut menunjukkan penggunaan file by kata kunci dari for..inpemahaman yang diberikan oleh CoffeeScript. Simpan kode ini dalam file dengan namaby_keyword_example.coffee
array = (num for num in [1..10] by 2)
console.log array
Buka command prompt dan kompilasi file .coffee seperti yang ditunjukkan di bawah ini.
c:\> coffee -c by_keyword_example.coffee
Saat menyusun, ini memberi Anda JavaScript berikut.
// Generated by CoffeeScript 1.10.0
(function() {
var array, num;
array = (function() {
var i, results;
results = [];
for (num = i = 1; i <= 10; num = i += 2) {
results.push(num);
}
return results;
})();
console.log(array);
}).call(this);
Sekarang, buka command prompt lagi dan jalankan file CoffeeScript seperti yang ditunjukkan di bawah ini.
c:\> coffee by_keyword_example.coffee
Saat menjalankan, file CoffeeScript menghasilkan keluaran berikut.
[ 1, 3, 5, 7, 9 ]