在JavaScript中构建模块化方法

卡西利亚斯

我有以下代码,并且符合我的要求,但是,它不是模块化的,也不是通用的。例如,我可能有一百个stats对象。有没有办法使它更通用?

实际上,dataSeries我只有两个对象数组。我正在根据它们的颜色对其进行分类(red, green)因此,只有四个stats对象被初始化。

var stats1 = {data: []}
var stats2 = {data: []}
var stats3 = {data: []}
var stats4 = {data: []}


stats1.data.push(self.dataSeries[0].data.filter(function (x) { return x.color == "green" }))
stats2.data.push(self.dataSeries[0].data.filter(function (x) { return x.color == "red" }))
stats3.data.push(self.dataSeries[1].data.filter(function (x) { return x.color == "green" }))
stats4.data.push(self.dataSeries[1].data.filter(function (x) { return x.color == "red" }))

a=[{ data: stats1.data[0] }, { data: stats2.data[0] }, { data: stats3.data[0] }, { data: stats4.data[0] }];
弗洛里邦

好吧,如果您知道数据的数量,那么您已经掌握了全部:

var numberOfData = 4;
var a = [];
for (var i = 0; i < numberOfData; i++) {
  var color = (i%2 === 0) ? 'green' : 'red';
  var index = Math.floor(i/2);
  var stat = {data: []};
  stat.data.push( self.dataSeries[index].data.filter(function (x) { return x.color == color }) );
  a.push( {data: stat.data[0] } );
}

现在看来您正在创建一个无用的stat.data数组,如果可以,则可以通过以下方式简化代码:

var numberOfData = 4;
var a = [];
for (var i = 0; i < numberOfData; i++) {
  var color = (i%2 === 0) ? 'green' : 'red';
  var index = Math.floor(i/2);
  var d = self.dataSeries[index].data.filter(function (x) { return x.color == color });
  a.push( {data: d} );
}

a在这两种情况下,结果数组都将与您的示例中的数组相同。

更新如果您有更多颜色,可以将它们全部放在的数组中,colors并使用模来获取匹配的颜色

var numberOfData = 4;
var colors = ['green', 'red', 'blue', 'pink', 'rainbow'];

var a = [];
for (var i = 0; i < numberOfData; i++) {
  var color = colors[i%colors.length];
  var index = Math.floor(i/2);
  var d = self.dataSeries[index].data.filter(function (x) { return x.color == color });
  a.push( {data: d} );
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何构建模块化应用

来自分类Dev

构建模块化Akka系统

来自分类Dev

如何构建模块化应用

来自分类Dev

无法在Xcode 7.3中构建模块并在框架模块错误中包含非模块化标头

来自分类Dev

在LLVM中创建模块化语言?

来自分类Dev

Spring Framework可以用于构建模块化的组件化Web应用程序吗?

来自分类Dev

创建模块化C应用程序的推荐方法是什么?

来自分类Dev

Javascript模块化算术

来自分类Dev

在javascript中简化/模块化我的代码

来自分类Dev

如何使Javascript中的提取API模块化

来自分类Dev

在javascript中简化/模块化我的代码

来自分类Dev

如何在PHP中模块化类方法?

来自分类Dev

R中的模块化编程

来自分类Dev

python networkx中的图模块化

来自分类Dev

模块化pow()中的负功率

来自分类Dev

python flask中的模块化路由

来自分类Dev

Express中的模块化路线

来自分类Dev

Haskell中的模块化方程

来自分类Dev

Django中的模块化模板

来自分类Dev

服务中的android开发模块化

来自分类Dev

求解Maple中的模块化方程

来自分类Dev

Ionic中的模块化编码

来自分类Dev

Excel中的模块化-计算“块”

来自分类Dev

python bot中的模块化编码

来自分类Dev

模块化 JS 中的类扩展

来自分类Dev

如何在Android中构建模块

来自分类Dev

C#中的Azure自动化帐户的构建模块

来自分类Dev

通过在`included'方法中求值来对类级方法调用进行模块化

来自分类Dev

使Bash模块化