我被JavaScript forEach func卡住了。 这里的一些代码段:JavaScript foreach var怪异ptr
const PPPP =
{
'azerty': 0,
'qwerty': []
};
$(document).ready(function() {
var k = [];
var z = [0, 1, 2, 3];
var m = ['a', 'b', 'c'];
z.forEach(function(v) {
var p = Object.assign({}, PPPP);
$('#debug').append(v.toString()+', ');
p.azerty = v;
m.forEach(function(v) {
p.qwerty.push(v);
});
k.push(p);
});
$('#res').html('Final: '+JSON.stringify(k));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="debug"></div>
<div id="res"></div>
预期: 决赛:0,1,2,3, 决赛:[{ “AZERTY”:0, “QWERTY”:[”一”, “b”, “C”]},{ “AZERTY”:1, “QWERTY”:[ “一”, “b”, “C”]},{ “AZERTY”:2, “QWERTY”: [“a”,“b”,“c”]},{“azerty”:3,“qwerty”:[“a”,“b”,“c”]}]
任何人都可以提出替代方案解决这个问题? 谢谢!
编辑#1:固定与手动复制分配。但对于forEach而言,forEach并不适用,原因不明。
你应该解释一下你期望这段代码做什么以及发生了什么。 – str
如何解释? – DanielPanic
状态更新。 forEach中的forEach解决方案无法工作。 – Ousret