小编use*_*203的帖子

使用两个数组在javascript中分配两个不同的值

我知道我的问题标题看起来很奇怪,但我不知道怎么问这样的问题.

我有两个 arrays

a = [1,2,3]
Run Code Online (Sandbox Code Playgroud)

b = ["gf","gdf","gdf"]
Run Code Online (Sandbox Code Playgroud)

我有一个这样的return语句:

return {
    options: a.map(value => ({ label: value, value: value }))
};
Run Code Online (Sandbox Code Playgroud)

但我希望选项内部的值取b数组的值而不是a数组的值.这该怎么做?

javascript arrays ecmascript-6

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

react-datepicker 中的默认值

我在我的 react-redux 应用程序中使用 react-datepicker 模块,我使它与 redux 表单兼容,如下所示:

const MyDatePicker = props => (
  <div>
    <DatePicker
      {...props.input}
      dateFormat="DD-MM-YYYY"
      selected={props.input.value
        ? moment(props.input.value, 'DD-MM-YYYY')
        : null}
      placeholderText={props.placeholder}
      disabled={props.disabled}
    />
    {
      props.meta.touched && props.meta.error &&
      <span className="error">
        { props.intl.formatMessage({ id: props.meta.error }) }
      </span>
    }
  </div>
);
Run Code Online (Sandbox Code Playgroud)

问题是我不知道如何在我的模块中添加默认值。此默认值必须是今天。有关如何处理此问题的任何想法?

datepicker default-value reactjs redux-form

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

将 n 个数组合并为一个数组

假设我有一个对象,它的值是这样的数组:

obj = {
    'key1': [1,2],
    'key2': [3,4],
    'key3': [5,6],
}
Run Code Online (Sandbox Code Playgroud)

如何使用 concat 将对象的所有数组合并为一个数组。对象的键数当然是动态的,但它至少会有一个实例所需的输出是这样的:

[1,2,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)

javascript arrays concatenation object

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

从javascript中的对象数组中删除重复值

我有一个像这样的对象数组:

arr = [
    {label: Alex, value: Ninja},
    {label: Bill, value: Op},
    {label: Cill, value: iopop}
]
Run Code Online (Sandbox Code Playgroud)

这个数组是在渲染我的react组件时组成的.i用户Array.prototype.unshift在我的数组顶部添加所需的元素.所以我写arr.unshift({label: All, value: All}).当我的组件首次渲染时,我的数组成功创建了我想要的.但是当我重新渲染它时,它会向我显示值为{label: All, value: All}重复的数组.更具体地说,它显示如下:

arr = [
    {label: All, value: All},
    {label: All, value: All},
    {label: Alex, value: Ninja},
    {label: Bill, value: Op},
    {label: Cill, value: iopop}
]
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?我在这里尝试了特定主题中描述的方法,但它没有用

javascript arrays duplicates

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

导航时取消一些 redux sagas

我在这里面临一个复杂的问题,非常感谢您的帮助。当我导航到应用程序的不同页面时,某些服务响应错误,并且我在不同页面中看到该错误。例如,假设我想买东西,为此我调用一个处理此任务的传奇。然后我立即注销,并在登录中看到错误。当我更改屏幕时,我想取消当前页面中运行的所有传奇故事。为了解决这个问题,我做了一个动作,当用户从一个屏幕切换到另一个屏幕时调度该动作。此操作正在调用生成器函数:

function* taskCancelHelper(actions, sagas) {
.....
}
Run Code Online (Sandbox Code Playgroud)

我的第一个问题是如何“采取”当前屏幕中调度的所有预期操作并调用适当的传奇。我用了:

const action = take(action => [..actions in the current screen].indexOf(action.type) < 0); but it does not seem to work.
Run Code Online (Sandbox Code Playgroud)

然后我想将调度此操作时调用的所有传奇故事传递到数组中[上述操作的传奇故事]。我的想法是在我的 taskCancelHelper* 生成器函数中传递这两个数组,并使用 for 循环来取消每个任务:

For (i=0; i < actions.length; i++) {
   yield cancel(sagas[i])
}
Run Code Online (Sandbox Code Playgroud)

您知道如何执行当前屏幕上调用传奇的所有操作吗?

javascript generator helper redux-saga

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

从数组末尾删除第 n 个元素

我有一个这样的数组:

array = [1,2,3,4,5,6,7,8]
Run Code Online (Sandbox Code Playgroud)

我想删除例如最后 4 个值,以便我的数组变成这样: array = [1,2,3,4] 我使用了 array.splice(array.length - 4, 1) 但它没有用。有任何想法吗?

javascript arrays

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

用hashHistory push反应路由问题

我定义了这样的反应路由路径:

/customer/:cid
Run Code Online (Sandbox Code Playgroud)

当我导航到所需的调用哈希历史记录的路径时,像这样从我的传奇中推送:

yield call(hashHistory.push, `/customer/${cid}`);
Run Code Online (Sandbox Code Playgroud)

我没有在浏览器中看到“客户”字样,并且还出现警告,指出该URL与路由路径不匹配。当我使用/${cid}期望从/customer/${cid}路由器工作正常。我想念什么?

hashtag reactjs react-router

0
推荐指数
1
解决办法
1532
查看次数

无法创建对象数组

我有一个包含对象数组的数组.这是一个例子:

[ [{name: Alex, number: 2}, {name: Bill, number: 3}],  [{name: John, number: 5}, {name: Aston, number: 7}]]
Run Code Online (Sandbox Code Playgroud)

我想创建另一个数组,其中包含上述数组数组的所有对象,如下所示:

[{name: Alex, number: 2}, {name: Bill, number: 3}, {name: John, number: 5}, {name: Aston, number: 7}] 
Run Code Online (Sandbox Code Playgroud)

我写了下面的代码:

const productsInfoArray = [];
const productsRecords = customerContacts.map(i => i.products).map(product => {
  product.map(i => productsInfoArray.push(i));
  return productsInfoArray;
});
Run Code Online (Sandbox Code Playgroud)

但是当我console.log(productsRecords)返回一个包含所有信息的数组数组时.问题是此数组包含所需数组的12倍,因为customerContacts长度为12

javascript arrays mapping

0
推荐指数
1
解决办法
72
查看次数

在javascript中检查数组是否只包含一次值

我有两个布尔数组:

arr1 = [true, false, false, true]
arr2 = [false, false, false ,true]
Run Code Online (Sandbox Code Playgroud)

我想创建一个只有当arr1和arr2包含true但每个数组只有一个true时才返回true的函数.例如,对于上面的数组,函数必须返回false.如果数组是这样的:

arr1 = [true, false, false, false]
arr2 = [false, false, false ,true]
Run Code Online (Sandbox Code Playgroud)

该函数将返回true.您是否知道快速实现这一目标的方法而无需计算元素?

javascript arrays counting

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