javascript - 为什么我在生成器增量时得到 NAN?
问题描述
我想在每次下一次调用时增加"c"
对象中的属性值,"test"
但我得到了{ value: NaN, done: false }
. 请帮我
const test = {
c: [{ a: 1 }, { a: 2 }, { a: 3 }]
};
function* responseDataSet(dataSet, elem) {
let i = 0;
while (true) {
const inc = yield dataSet[elem][i]++; // here i try increment
i = (dataSet[elem].length + i + inc) % dataSet[elem].length;
}
}
const launch = responseDataSet(test, 'c');
console.log(launch.next());
解决方案
你可以这样修复
const inc = yield (dataSet[elem][i]['a'])++; // here i try
检查以下演示的结果。
const test = {
c: [{ a: 1 }, { a: 2 }, { a: 3 }]
};
function* responseDataSet(dataSet, elem) {
let i = 0;
while (true) {
const inc = yield (dataSet[elem][i]['a'])++; // here i try increment
i = (dataSet[elem].length + i + inc) % dataSet[elem].length;
}
}
const launch = responseDataSet(test, 'c');
console.log(launch.next());
推荐阅读
- macos - mac os 相当于 AVAudioSession setCategory 环境或 mixWithOthers
- javascript - React 组件中的 onChange 未按预期运行
- tensorflow - Tensorflow - 使用 tf.estimator.inputs.numpy_input_fn 时如何提供多值特征
- angular - PhantomJS 执行 0 个测试,共 0 个测试
- php - Laravel登录表单,如何显示哪些用户输入了哪些数据?
- java-8 - 地图有列表作为值检查是否为空
- polymer - 用于 firefox 的 Polymer 3.0 Polyfils
- java - java.lang.ClassNotFoundException :Erreur lors de la configuration de la classe d'écoute de l'application
- email - Flask HTML 电子邮件未呈现
- android - 提高 android 应用程序中以编程方式捕获的图像的质量