Product introduction Product pricing Quick start Detailed guidance
Components
Chart
Line chart Bar chart
Basic bar chart Horizontal bar chart Horizontal capsule diagram Stacked bar chart
Pie chart
Basic pie chart Pie chart for indicator comparison Percentage pie chart Nightingale graph Pie chart with figure Carousel pie chart Gap pie chart
Radar chart
Radar chart Radar chart - polygonal Radar chart - circular
Scatter chart
Scatter chart Bubble chart
Dial
Basic dial Time dial Speed dial
Others
Text Map Multi-media
Video player RTMP player Single image iframe loader
Control Source material
Data usage
Example demonstration Service agreement Service level agreement

# Common filter code

OneNET View 2.0 provides filters to personalize the data source, with which the user can write the JavaScript code by himself to realize data structural transfer, screen and some simple calculation. Some common filter codes will be listed herein for reference. In case of any problem during use, please raise it in the visual product communication group.

Iteration

Generally, most of the results returned from data sources are of array type, and each element can be processed through iteration.

data.forEach((item, index) => {
  // console.log('element:', item, '; subscript:', index);
});

Obtain the first item of array

// first([1, 2]); // -> 1
function first(arr) {
  var len = arr ? arr.length : 0;
  if (len) return arr[0];
}

Obtain the last item of array

// last([1, 2]); // -> 2
function last(arr) {
  var len = arr ? arr.length : 0;
  if (len) return arr[len - 1];
}

Array maximum and minimum

//Array maximum
function maxArr(arr) {
  return Math.max.apply(null, arr);
}
//Array minimum
function minArr(arr) {
  return Math.min.apply(null, arr);
}

Array sum, average

// Encapsulation of the block, mainly for the array of numeric type
// sum
function sumArr(arr) {
  return arr.reduce(function(pre, cur) {
    return pre + cur;
  });
}
//Array average. There may be several decimal places, which is not to be processed.
function covArr(arr) {
  return this.sumArr(arr) / arr.length;
}

Obtain elements randomly from an array

function randomOne(arr) {
  return arr[Math.floor(Math.random() * arr.length)];
}

Return a random number within a range

//ecDo.randomNumber(5,10)
//Return a random integer between 5-10, with 5 and 10 inclusive
//ecDo.randomNumber(10)
//return a random integer between 0-10, with 0 and 10 inclusive
//ecDo.randomNumber()
//return a random integer between 0-255, with 0 and 255 inclusive
function randomNumber(n1, n2) {
  if (arguments.length === 2) {
    return Math.round(n1 + Math.random() * (n2 - n1));
  } else if (arguments.length === 1) {
    return Math.round(Math.random() * n1);
  } else {
    return Math.round(Math.random() * 255);
  }
}

Time format processing

/**
 * @param timestamp time stamp
 **/
function formatDate(timestamp) {
  var date = new Date(timestamp); //The 10-bit time stamp is to be multiplied by 1000 and the 13-bit one is not to be multiplied by 1000.
  var Y = date.getFullYear() + '-';
  var M =
    (date.getMonth() + 1 < 10
      ? '0' + (date.getMonth() + 1)
      : date.getMonth() + 1) + '-';
  var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';
  var h =
    (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
  var m =
    (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) +
    ':';
  var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
  return Y + M + D + h + m + s;
}

The number of times an element appears in a returned array (string)

//ecDo.getEleCount('asd56+asdasdwqe','a')
//result:3
//ecDo.getEleCount([1,2,3,4,5,66,77,22,55,22],22)
//result:2
function getEleCount(obj, ele) {
  var num = 0;
  for (var i = 0, len = obj.length; i < len; i++) {
    if (ele === obj[i]) {
      num++;
    }
  }
  return num;
}

array of objects sort

//var arr=[{a:1,b:2,c:9},{a:2,b:3,c:5},{a:5,b:9},{a:4,b:2,c:5},{a:4,b:5,c:7}]
//ecDo.arraySort(arr,'a,b'), wherein a is the first sorting condition and b the second sorting condition
//result:[{"a":1,"b":2,"c":9},{"a":2,"b":3,"c":5},{"a":4,"b":2,"c":5},{"a":4,"b":5,"c":7},{"a":5,"b":9}]
function arraySort(arr, sortText) {
  if (!sortText) {
    return arr;
  }
  var _sortText = sortText.split(',').reverse(),
    _arr = arr.slice(0);
  for (var i = 0, len = _sortText.length; i < len; i++) {
    _arr.sort(function(n1, n2) {
      return n1[_sortText[i]] - n2[_sortText[i]];
    });
  }
  return _arr;
}

Array in reverse order

// arrayReverse([3,2,1,4])  // [4, 1, 2, 3]
function arrayReverse(arr) {
  var len = arr ? arr.length : 0;
  if (len) return arr.reverse();
}

个搜索结果,搜索内容 “

    0 个搜索结果,搜索内容 “