小编The*_*ice的帖子

Javascript - 在单次迭代中求和两个数组

我想将一个数字数组的每个值与不同数字数组中的相应值相加,我想这样做而不循环遍历每个单独的值.
所以:

var array1 = [1,2,3,4];
var array2 = [5,6,7,8];

var sum    = [6,8,10,12];
Run Code Online (Sandbox Code Playgroud)

但是,我喜欢一下子做到这一点,而不是这样做:

for(var i = 0; i < array1.length; i++){
   sum.push(array1[i] + array2[i]);
}
Run Code Online (Sandbox Code Playgroud)

谁能想到办法?我很难过.

javascript arrays loops

29
推荐指数
4
解决办法
5万
查看次数

从Javascript对象中的CSV中检索已解析的数据(使用Papa Parse)

我有点尴尬地问这个问题,因为它看起来应该是如此明显,但我在处理异步问题方面相当薄弱,而且我对如何继续进行感到困惑.

我正在使用Papa Parse(http://papaparse.com/docs.html#remote-files)来解析远程CSV.我想将解析的结果存储在一个对象中以便以后使用.这是我的代码:

var dataset = {};    

    Papa.parse("http://path/to/some.csv", {
      download: true,
      dynamicTyping: true,
      complete: function(results) {
        dataset = results.data;
      }
    });

console.log(dataset);  
Run Code Online (Sandbox Code Playgroud)

当然,这会导致将空对象记录到控制台.任何使用数据集的尝试都不起作用,因为当然,数据集对象在代码执行时并未实际接收到其数据.有人可以帮我重构或解释我是如何处理的吗?

javascript csv parsing asynchronous callback

8
推荐指数
1
解决办法
1万
查看次数

将React上下文通过HOC传递给包装组件

有没有办法可以通过React高阶组件将上下文传递给它包装的组件?

我有一个HOC从其父级接收上下文,并利用该上下文执行基本的通用操作,然后包装一个也需要访问相同上下文以执行操作的子组件.例子:

HOC:

export default function withACoolThing(WrappedComponent) {
  return class DoACoolThing extends Component {
    static contextTypes = {
      actions: PropTypes.object,
    }

    @autobind
    doAThing() {
      this.context.actions.doTheThing();
    }

    render() {
      const newProps = {
        doAThing: this.doAThing,
      };

      return (
        <WrappedComponent {...this.props} {...newProps} {...this.context} />
      );
    }
  }
};
Run Code Online (Sandbox Code Playgroud)

包裹组件:

import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { autobind } from 'core-decorators';
import withACoolThing from 'lib/hocs/withACoolThing';


const propTypes = {
  doAThing: PropTypes.func,
};

const contextTypes = {
  actions: …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs redux higher-order-components

6
推荐指数
1
解决办法
1301
查看次数

按日期计算data.frame列平均值

我在R中有一个data.frame,其中一列是日期列表(其中许多是重复的),而另一列是该日期记录的温度.有问题的列看起来像这样(但是有几千行和一些其他不必要的列):

Date    |    Temp
-----------------
1/2/13     34.4
1/2/13     36.4
1/2/13     34.3
1/4/13     45.6
1/4/13     33.5
1/5/13     45.2
Run Code Online (Sandbox Code Playgroud)

我需要找到一种获得每日平均温度的方法.理想情况下,我可以让R循环遍历data.frame,并且对于匹配的每个日期,给我一个当天温度的平均值.我一直在谷歌搜索,我知道R中的循环是可能的,但我无法概念性地围绕这个概念,因为我对R代码知之甚少.

我知道我可以拉出一个列并对其进行平均(即mean(data.frame[[2]]))但是我完全迷失了如何告诉R将该均值与第一列中的单个值相匹配.

另外,我怎样才能每七个日历日生成一个平均值(无论一天有多少条目存在)?所以,一个七天的滚动平均值,即如果我的日期范围从1/1/13开始,我将获得在1/1/13和1/7/13之间所有温度的平均值,然后是1/8/13和1/15/13等等......

任何帮助我掌握R循环的帮助都非常感谢.谢谢!

编辑

这是dput(head(my.dataframe)) PLEASE的输出注意:我记下了"日期"和"时间戳",因为它们都会继续进行几千个条目:

structure(list(RECID = 579:584, SITEID = c(101L, 101L, 101L, 
101L, 101L, 101L), MONTH = c(6L, 6L, 6L, 6L, 6L, 6L), DAY = c(7L, 
7L, 7L, 7L, 7L, 7L), DATE = structure(c(34L, 34L, 34L, 34L, 34L, 
34L), .Label = c("10/1/2013", "10/10/2013", "10/11/2013", "10/12/2013", 
"10/2/2013", "10/3/2013", "10/4/2013", "10/5/2013", "10/6/2013", 
"10/7/2013", "10/8/2013", …
Run Code Online (Sandbox Code Playgroud)

loops for-loop average r dataframe

4
推荐指数
2
解决办法
8473
查看次数

在Jest + Enzyme中测试连接的容器方法

我有一个这样的连接容器:

import React from 'react';
import PropTypes from 'prop-types';
import { bindActionCreators } from 'redux';
import { connect } from 'react-redux';
import { autobind } from 'core-decorators';

const propTypes = {
  data: PropTypes.object,
  userData: PropTypes.object,
};

class ConnectedContainer extends React.Component {
    @autobind
    doSomethingImportant() {
      ...
    }

  render() {
    ....
  }
}

ConnectedContainer.propTypes = propTypes;

const mapStateToProps = state => ({ data, userData });
const mapDispatchToProps = (dispatch) => {
  return { actions: bindActionCreators(actions, dispatch) };
};
export default connect(mapStateToProps, mapDispatchToProps)(ConnectedContainer); …
Run Code Online (Sandbox Code Playgroud)

unit-testing reactjs jestjs redux enzyme

3
推荐指数
1
解决办法
1877
查看次数

将哈希数组减少为新哈希值

我有一个ActiveRecord关系,看起来像这样:

[  
  {  
    timestamp: Tue, 02 Oct 2018 00:00:00 PDT -07:00,
    user_id: 3,
    organization_id: 1,
    all_sales: 10,
    direct_sales: 7,
    referred_sales: 3,
  },
  {
    timestamp: Wed, 03 Oct 2018 00:00:00 PDT -07:00,
    user_id: 3,
    organization_id: 1,
    all_sales: 17,
    direct_sales: 8,
    referred_sales: 9,
  },  
  {
    timestamp: Thu, 04 Oct 2018 00:00:00 PDT -07:00,
    user_id: 3,
    all_sales: 3,
    direct_sales: 3,
    referred_sales: 0,
  }
]
Run Code Online (Sandbox Code Playgroud)

我想做的是创建一个与销售相关的所有关键字的"总和"(为了我们的目的,我不需要timestamp,user_id或者organization_id,基本上,我想以这样的结尾:

{
  all_sales: 30
  direct_sales: 18
  referred_sales: 12
}
Run Code Online (Sandbox Code Playgroud)

有这种优雅的ruby-ish方式吗?我可以轻松地为每个销售类别创建一组变量,并在迭代原始关系时对其进行扩充,但我想看看社区是否有更清晰的方法.实际上,这些哈希中的每一个都有超过3个相关键,因此我担心这种方法会很快变得混乱.

编辑:我也在SO上检查了类似问题的其他一些答案(例如:更好地在散列数组中对值进行求和),但理想情况下我不会迭代这么多次.

ruby

2
推荐指数
2
解决办法
276
查看次数