Skip to content

Commit

Permalink
update fp
Browse files Browse the repository at this point in the history
  • Loading branch information
navono committed Aug 29, 2017
1 parent 72c093c commit 6bb5a25
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 56 deletions.
4 changes: 2 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
// 请求类型, launch表示启动程序调试,attach表示监听某一端口进行调试
"request": "launch",
// node程序的入口脚本路径(相对于工作空间)
"program": "${workspaceRoot}/Nodejs/nodeBeginner/index.js",
"program": "${workspaceRoot}/FP/fp.js",
"stopOnEntry": false,
// 接在program指定js后面的参数
"args": [],
Expand All @@ -52,7 +52,7 @@
// "outDir": "./out"
},
{
"name": "Attach",
"name": "node Attach",
"type": "node",
// attach表示监听某一端口进行调试
"request": "attach",
Expand Down
118 changes: 64 additions & 54 deletions FP/fp.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* @Author: Ping Qixing
* @Date: 2017-07-06 14:20:04
* @Last Modified by: Ping Qixing
* @Last Modified time: 2017-07-25 16:18:32
* @Last Modified time: 2017-08-22 08:07:23
* @Description
* 演示FP的一些例子。在Node下执行
*/
Expand Down Expand Up @@ -100,59 +100,59 @@ let catFirstChar = R.compose(R.join, R.map(R.head), cat);


let filters = [
{
"name": "所有报警",
"filterKey": "",
"filterValue": "",
"icon": "ContentInbox",
"subItems": []
},
{
"name": "优先级",
"filterKey": "",
"filterValue": "",
"icon": "ActionGrade",
"subItems": [
{"name": "优先级0", "filterKey": "priority", "filterValue": "0", "icon": "ActionGrade", "subItems": []},
{"name": "优先级31", "filterKey": "priority", "filterValue": "31", "icon": "ActionGrade", "subItems": []}
]
},
{
"name": "设备",
"filterKey": "",
"filterValue": "",
"icon": "ActionGrade",
"subItems": [
{"name": "设备A", "filterKey": "device", "filterValue": "A", "icon": "ActionGrade", "subItems": []},
{"name": "设备B", "filterKey": "device", "filterValue": "B", "icon": "ActionGrade", "subItems": []}
]
}
];
{
'name': '所有报警',
'filterKey': '',
'filterValue': '',
'icon': 'ContentInbox',
'subItems': []
},
{
'name': '优先级',
'filterKey': '',
'filterValue': '',
'icon': 'ActionGrade',
'subItems': [
{'name': '优先级0', 'filterKey': 'priority', 'filterValue': '0', 'icon': 'ActionGrade', 'subItems': []},
{'name': '优先级31', 'filterKey': 'priority', 'filterValue': '31', 'icon': 'ActionGrade', 'subItems': []}
]
},
{
'name': '设备',
'filterKey': '',
'filterValue': '',
'icon': 'ActionGrade',
'subItems': [
{'name': '设备A', 'filterKey': 'device', 'filterValue': 'A', 'icon': 'ActionGrade', 'subItems': []},
{'name': '设备B', 'filterKey': 'device', 'filterValue': 'B', 'icon': 'ActionGrade', 'subItems': []}
]
}
];

let alarms = [
{"tagName": "AA", "newtime": "2017/6/15 12:00:03", "acktime": "", "sleeptime": "", "almType": "H", "tagDesc": "This is AA description",
"device": "B", "priority": 0, "acked": true, "selected": false},
{"tagName": "BB", "newtime": "2017/6/15 12:01:14", "acktime": "", "sleeptime": "", "almType": "LL", "tagDesc": "This is BB description",
"device": "A", "priority": 0, "acked": false, "selected": false},
{"tagName": "CC", "newtime": "2017/6/15 12:05:23", "acktime": "", "sleeptime": "", "almType": "HH", "tagDesc": "This is CC description",
"device": "B", "priority": 0, "acked": false, "selected": false},
{"tagName": "DD", "newtime": "2017/6/15 12:10:35", "acktime": "", "sleeptime": "", "almType": "L", "tagDesc": "This is DD description",
"device": "A", "priority": 0, "acked": false, "selected": false},
{"tagName": "EE", "newtime": "2017/6/15 12:20:03", "acktime": "", "sleeptime": "", "almType": "HH", "tagDesc": "This is EE description",
"device": "B", "priority": 31, "acked": false, "selected": false},
{"tagName": "FF", "newtime": "2017/6/15 12:30:45", "acktime": "", "sleeptime": "", "almType": "LL", "tagDesc": "This is FF description",
"device": "A", "priority": 31, "acked": false, "selected": false},
{"tagName": "GG", "newtime": "2017/6/15 12:45:00", "acktime": "", "sleeptime": "", "almType": "H", "tagDesc": "This is GG description",
"device": "B", "priority": 31, "acked": false, "selected": false},
{"tagName": "HH", "newtime": "2017/6/15 13:03:03", "acktime": "", "sleeptime": "", "almType": "HH", "tagDesc": "This is HH description",
"device": "A", "priority": 31, "acked": false, "selected": false},
{"tagName": "II", "newtime": "2017/6/15 13:05:56", "acktime": "", "sleeptime": "", "almType": "L", "tagDesc": "This is II description",
"device": "B", "priority": 31, "acked": false, "selected": false}
];
{'tagName': 'AA', 'newtime': '2017/6/15 12:00:03', 'acktime': '', 'sleeptime': '', 'almType': 'H', 'tagDesc': 'This is AA description',
'device': 'B', 'priority': 0, 'acked': true, 'selected': false},
{'tagName': 'BB', 'newtime': '2017/6/15 12:01:14', 'acktime': '', 'sleeptime': '', 'almType': 'LL', 'tagDesc': 'This is BB description',
'device': 'A', 'priority': 0, 'acked': false, 'selected': false},
{'tagName': 'CC', 'newtime': '2017/6/15 12:05:23', 'acktime': '', 'sleeptime': '', 'almType': 'HH', 'tagDesc': 'This is CC description',
'device': 'B', 'priority': 0, 'acked': false, 'selected': false},
{'tagName': 'DD', 'newtime': '2017/6/15 12:10:35', 'acktime': '', 'sleeptime': '', 'almType': 'L', 'tagDesc': 'This is DD description',
'device': 'A', 'priority': 0, 'acked': false, 'selected': false},
{'tagName': 'EE', 'newtime': '2017/6/15 12:20:03', 'acktime': '', 'sleeptime': '', 'almType': 'HH', 'tagDesc': 'This is EE description',
'device': 'B', 'priority': 31, 'acked': false, 'selected': false},
{'tagName': 'FF', 'newtime': '2017/6/15 12:30:45', 'acktime': '', 'sleeptime': '', 'almType': 'LL', 'tagDesc': 'This is FF description',
'device': 'A', 'priority': 31, 'acked': false, 'selected': false},
{'tagName': 'GG', 'newtime': '2017/6/15 12:45:00', 'acktime': '', 'sleeptime': '', 'almType': 'H', 'tagDesc': 'This is GG description',
'device': 'B', 'priority': 31, 'acked': false, 'selected': false},
{'tagName': 'HH', 'newtime': '2017/6/15 13:03:03', 'acktime': '', 'sleeptime': '', 'almType': 'HH', 'tagDesc': 'This is HH description',
'device': 'A', 'priority': 31, 'acked': false, 'selected': false},
{'tagName': 'II', 'newtime': '2017/6/15 13:05:56', 'acktime': '', 'sleeptime': '', 'almType': 'L', 'tagDesc': 'This is II description',
'device': 'B', 'priority': 31, 'acked': false, 'selected': false}
];
let currentFilter = {
"filterKey": "priority",
"filterValue": 0
};
'filterKey': 'priority',
'filterValue': 0
};

let filterPair = R.propEq(currentFilter.filterKey, currentFilter.filterValue);
// console.log(R.filter(filterPair, alarms));
Expand All @@ -162,7 +162,7 @@ const isEven = n => n % 2 === 0;
let f = R.filter(isEven); //=> {b: 2, d: 4}
// R.compose(R.map(console.log), R.pluck('e'))([{a: 1, b: 2, c: 3, d: 4, e: { f: 6}}]);

let m = v => { return {"filterKey": v.filterKey, "filterValue": v.filterValue}};
let m = v => { return {'filterKey': v.filterKey, 'filterValue': v.filterValue}};
// R.compose(R.map(console.log), R.map(m))(filters);

let fp = R.path(['subItems']);
Expand All @@ -172,5 +172,15 @@ let fp = R.path(['subItems']);
var gt10 = x => x > 10;
var even = x => x % 2 === 0;
var ef = R.either(gt10, even);
R.compose(console.log, ef)(101); //=> true
R.compose(console.log, ef)(8); //=> true
// R.compose(console.log, ef)(101); //=> true
// R.compose(console.log, ef)(8); //=> true


const allList = [{a: 1}, {a: 2}, {a: 3}];
const delList = [{a:1}, {a:3}];

let resultList = R.filter(item => {
return R.find(R.propEq('a', item.a))(delList) === undefined? true : false;
})(allList);

console.log(resultList);

0 comments on commit 6bb5a25

Please sign in to comment.