SQL นั้นเป็นโดเมนเฉพาะของ map + fold + filter หรือไม่
ดูเหมือนว่าฉันว่า SQL ต่อไปนี้:
SELECT name
FROM fruits
WHERE calories < 100
เป็นเพียงน้ำตาล syntactic สำหรับแผนที่ + ตัวกรอง + การดำเนินการพับ:
var fruits = [{id : 1, name: 'orange', calories : 100},
{id : 2, name : 'banana', calories : 150},
{id : 3, name: 'apple', calories : '50'}];
fruits.map(function(fruit) { return { name : fruit.name, calories : fruit.calories })
.filter(function(obj) { return obj.calories < 100 })
.reduce(function (accumulator, obj) { accumulator + "\n" + val.name; });
เรื่องนี้เป็นเรื่องบังเอิญหรือว่ามีความหมายที่เท่าเทียมกันที่สามารถพิสูจน์ได้? ได้อย่างไรคร่าวๆ
ฉันรู้ว่าในทางปฏิบัติ SQL มี bells และ whistles จำนวนมาก แต่ที่สำคัญคือมันเป็นเพียงการดำเนินการ map-fold-filter?
บทความต่อไปนี้มีความเกี่ยวข้อง: http://blogs.msdn.com/b/doriancorompt/archive/2013/01/21/bringing-the-querying-power-of-sql-to-javascript.aspx