我知道我的问题标题看起来很奇怪,但我不知道怎么问这样的问题.
我有两个 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数组的值.这该怎么做?
我在我的 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)
问题是我不知道如何在我的模块中添加默认值。此默认值必须是今天。有关如何处理此问题的任何想法?
假设我有一个对象,它的值是这样的数组:
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) 我有一个像这样的对象数组:
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)
我怎样才能解决这个问题?我在这里尝试了特定主题中描述的方法,但它没有用
我在这里面临一个复杂的问题,非常感谢您的帮助。当我导航到应用程序的不同页面时,某些服务响应错误,并且我在不同页面中看到该错误。例如,假设我想买东西,为此我调用一个处理此任务的传奇。然后我立即注销,并在登录中看到错误。当我更改屏幕时,我想取消当前页面中运行的所有传奇故事。为了解决这个问题,我做了一个动作,当用户从一个屏幕切换到另一个屏幕时调度该动作。此操作正在调用生成器函数:
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)
您知道如何执行当前屏幕上调用传奇的所有操作吗?
我有一个这样的数组:
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) 但它没有用。有任何想法吗?
我定义了这样的反应路由路径:
/customer/:cid
Run Code Online (Sandbox Code Playgroud)
当我导航到所需的调用哈希历史记录的路径时,像这样从我的传奇中推送:
yield call(hashHistory.push, `/customer/${cid}`);
Run Code Online (Sandbox Code Playgroud)
我没有在浏览器中看到“客户”字样,并且还出现警告,指出该URL与路由路径不匹配。当我使用/${cid}期望从/customer/${cid}路由器工作正常。我想念什么?
我有一个包含对象数组的数组.这是一个例子:
[ [{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
我有两个布尔数组:
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 ×7
arrays ×6
reactjs ×2
counting ×1
datepicker ×1
duplicates ×1
ecmascript-6 ×1
generator ×1
hashtag ×1
helper ×1
mapping ×1
object ×1
react-router ×1
redux-form ×1
redux-saga ×1