menge.js:实现超轻量级数组集合运算

需积分: 5 0 下载量 184 浏览量 更新于2024-12-17 收藏 9KB ZIP 举报
资源摘要信息:"menge.js是一个用于执行极简集理论运算的JavaScript库,其特性是仅占用小于1KB的代码体积。该库提供了类数组对象的集合运算功能,支持在Node.js环境以及浏览器中使用。具体的用法如下:首先,需要通过npm安装或者直接在HTML中通过script标签引用的方式引入menge库。在Node.js中使用时,需要require("menge")来引入该模块,并且可以进行集合的并集、交集、差集等操作。例如,通过menge.union(source, target, dest)函数可以实现两个数组的并集运算,结果将存储在dest数组中。在浏览器中,通过引入menge.min.js脚本文件的方式可以直接在前端页面中使用menge提供的功能。该库遵循麻省理工学院执照(MIT License),表示这是一个开源的、免费的软件,并且川崎佑介是该软件的版权所有者。" 以下是针对标题和描述中提到的知识点的详细解释: 1. 类数组对象(Array-like Objects):在JavaScript中,类数组对象是指那些拥有数字索引和length属性的对象,但不具备数组的方法。常见的类数组对象包括arguments对象和通过document.querySelectorAll等方法返回的NodeList对象。尽管它们不是真正的数组,但可以通过Array.prototype上的方法来处理,或者用数组方法(如concat, slice, apply等)进行转换。 2. 集合理论运算:集合理论是数学的一个分支,它研究集合和集合的运算。集合是不同对象的无序组合,对象称为元素。常见的集合运算包括并集(union)、交集(intersection)、差集(difference)、补集等。例如,两个集合的并集包含了这两个集合中所有的元素,而交集则只包含同时属于这两个集合的元素。 3. JavaScript库(JavaScript Library):JavaScript库是一套预先编写好的代码,简化了常见的编程任务。在本例中,menge.js是一个小型的JavaScript库,用于执行集合理论相关的运算。 4. Node.js:Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它使得JavaScript可以脱离浏览器在服务器端运行。Node.js广泛用于开发网络服务器,但也可用于开发命令行工具和桌面应用程序等。 5. npm(Node Package Manager):npm是Node.js的包管理器,允许用户安装Node.js模块和库。通过npm,开发者可以轻松地安装、更新和管理项目依赖。在本例中,npm install --save menge命令用于安装menge模块,并将其添加到package.json文件中。 6. 浏览器兼容性(Browser Compatibility):在浏览器中使用menge.js,可以直接通过script标签引入menge.min.js文件。该文件需要通过CDN或者其他方式发布,以便在网页中加载。 7. 文献资料和版权声明:提及文档和库的许可信息,表明menge.js项目是在MIT许可证下发布的,这表示该软件是开源的,任何人均可自由使用、修改和重新发布该软件,包括用于商业目的。川崎佑介是该软件的版权所有者。 8. 资源压缩和打包(Compression and Bundling):在Web开发中,为了提高加载速度和性能,通常会将多个资源文件合并打包成一个或几个文件。这通常涉及到代码压缩,如去除代码中的空格、注释等。文件名称“menge-master”表明该文件是源代码的主分支,可能包含库的完整源代码或打包后的代码。

请帮我看看这个sql语句是否正确,并改正:select a.ebeln, a.ebelp, a.art, a.kdauf, a.zbw, a.size1, a.txz01, a.menge, b.quantity, (a.menge - b.quantity) as OWE_MATERIAL, ( select sum(THIS_PLAN_QTY) as HAVE_PLAN , a.ebeln , a.ebelp , a.kdauf from SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c , SCM_PROCESS_PURCHASE_ORDER_D a group by c.order_no , c.order_seq , c.sales_order , a.ebeln , a.ebelp , a.kdauf having c.order_no = a.ebeln And c.order_seq = a.ebelp And c.sales_order = a.kdauf ) , ( select a.menge - t.HAVE_PLAN as OWN_PLAY from (select sum(THIS_PLAN_QTY) as HAVE_PLAN , c.order_no , c.order_seq , c.sales_order from SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c , SCM_PROCESS_PURCHASE_ORDER_D a group by c.order_no , c.order_seq , c.sales_order , a.ebeln , a.ebelp , a.kdauf having c.order_no = a.ebeln And c.order_seq = a.ebelp And c.sales_order = a.kdauf ) t , SCM_PROCESS_PURCHASE_ORDER_D a where a.ebeln = t.order_no and a.ebelp = t.order_seq and a.menge = t.sales_order ) , d.scan_qty, (d.quantity - d.scan_qty) as OWN_PRODUCE, e.scan_qty, (e.quantity - e.scan_qty) as OWE_SHIP from SCM_PROCESS_PURCHASE_ORDER_D a left join MMS_INOUT_BILL_M b On a.ebeln = b.purchase_order_number And a.ebelp = b.purchase_order_seq And a.kdauf = b.sales_order left join SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c on a.ebeln = c.order_no And a.ebelp = c.order_seq And a.kdauf = c.sales_order left join SCM_PROCESS_OUTPUT d on a.ebeln = d.order_no And a.ebelp = d.order_seq And a.kdauf = d.sales_order left join SCM_OUTSOURCE_SHIP e on a.ebeln = e.qr_code and a.ebelp = e.order_no and a.kdauf = e.order_seq where a.art = 'IE7181' Order by a.ebeln desc, a.ebelp;

157 浏览量