123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- module.exports = {
- buf2hex: buf2hex,
- buf2string: buf2string,
- changeArrayByValue: changeArrayByValue,
- removeWrongArray: removeWrongArray,
- }
- ///获取数据
- function buf2hex(buffer) {
- return Array.prototype.map.call(new Uint8Array(buffer), x => ('00' + x.toString(16)).slice(-2)).join('');
- }
- ///数据转文字
- function buf2string(buffer) {
- var arr = Array.prototype.map.call(new Uint8Array(buffer), x => x)
- var str = ''
- for (var i = 0; i < arr.length; i++) {
- str += String.fromCharCode(arr[i])
- }
- return str
- }
- /// value 数组转换的根据值 array 需要转换的数组
- /// 根据数组中的一个值分隔数组, 分割后组成的新数组
- function changeArrayByValue(value, array) {
- // var value = "IMU data";
- var newArray = new Array();
- var dataStr = '';
- for (var i = 0; i < array.length; i++) {
- if (array[i] == value) {
- if (dataStr) {
- //把分隔的数据添加新到数组中
- newArray.push(dataStr.substring(0, dataStr.length - 2).split(" "));
- }
- dataStr = '';
- continue;
- } else {
- dataStr += (array[i] + " ");
- //把最后分隔的数据添加新到数组中
- if (i == array.length - 1) {
- newArray.push(dataStr.substring(0, dataStr.length - 2).split(" "));
- }
- }
- }
- return newArray;
- }
- ///数组 去除数组中长度不等于三的属性
- function removeWrongArray(array) {
- for (var i = 0; i < array.length; i++) {
- if (array[i].length != 9) {
- array.splice(i, 1);
- removeWrongArray(array);
- }
- }
- return array;
- }
|