模块接口 module.exports
- 导出单个函数
module.exports = function functionName(){
/*function method*/
}
- 导出多个函数
module.exports = {functionName1,functionName2,.... }
require 导入
const main = require('../main/main.js');
const database = require('../main/datbase.js');
var loadAllItems = database.loadAllItems;
var loadPromotions = database.loadPromotions;
var printInventory = main.printInventory;
数组操作 Array
- forEach
var result = [];
collectionA.forEach(item => {
result.push({ key: item.key, count: item.count });
//遍历collectionA
})
- Array some() 方法
some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
- 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
- 如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。
- Array find() 方法
find() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素。
find() 方法为数组中的每个元素都调用一次函数执行:
- 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
- 如果没有符合条件的元素返回 undefined
注意: find() 对于空数组,函数是不会执行的。
注意: find() 并没有改变数组的原始值。
示例:
//已定义arrExample
if(arrExample.some(x => x.key === someValue){
var x = arrExample.find(x => x.key === someValue);
/*other method*/
}
- 小型数据存储
function loadAllItems() {
return [
{
barcode: 'ITEM000000',
name: '可口可乐',
unit: '瓶',
price: 3.00
},
{
barcode: 'ITEM000001',
name: '雪碧',
unit: '瓶',
price: 3.00
}
];
}
简单正则表达式
collection.forEach(item => {
var multiPattern = /(\w)-(\d)/; //正则表达式 用于匹配"d-5" \w是非单词字符 \d是数字0-9
if (multiPattern.test(item)) {
console.log(item);
var multiExec = multiPattern.exec(item);
console.log("multiExec[0]:" + multiExec[0]);
console.log("multiExec[1]:" + multiExec[1]);
console.log("multiExec[2]:" + multiExec[2]);
}
}