Javascript 如何在没有console.log的情况下更新数组元素?
假设我们有Javascript 如何在没有console.log的情况下更新数组元素?,javascript,Javascript,假设我们有 let nums = [ [1 , 2], [3 , 4] ] console.log(nums) document.addEventListener('keydown', (event) => { if (event.code == "Numpad7"){ nums[0][1] = 5; } }) 现在我想把4改成5 我重新分配nums[0][1]=5 但是这实际上并没有更新已经被consoled.log打印的数组。
let nums = [
[1 , 2],
[3 , 4]
]
console.log(nums)
document.addEventListener('keydown', (event) => {
if (event.code == "Numpad7"){
nums[0][1] = 5;
}
})
现在我想把4改成5
我重新分配nums[0][1]=5
但是这实际上并没有更新已经被consoled.log打印的数组。
有办法吗?Console.log记录当前状态下变量的值。
如果要记录阵列的更新版本,则必须在更新后进行记录。大多数Chrome版本都会自动更新对象,因此如果将结果包装到对象中,则可能会得到所需的结果 var x={attrib:hello} console.logx; x、 attrib=世界;
//检查浏览器控制台-而不是堆栈溢出预览。重新分配值的正确方法是:
nums[1][1] = 5
谢谢大家的帮助,所以我不得不将console.log放在函数中,即使它不是我想要的安静,我也会检查它:您可以清除控制台日志,然后记录新的值
let nums = [
[1 , 2],
[3 , 4]
]
console.log(nums)
document.addEventListener('keydown', (event) => {
if (event.code == "Numpad7"){
nums[1][1] = 5;
console.clear();
console.log(nums);
}
})
Chrome有这个选项Firefoxtoo@Areu那么代码中的任何东西都不行了?我们是在说node.js吗?因为在浏览器中,如果控制台输出处于活动状态,则此操作已按预期工作。您正在记录nums但正在更新Cells。我在修复此代码后尝试了此代码,如果在按键后展开数组视图,则会显示新值。然而,真正的问题是:这有什么意义?你的最终目标是什么?是的,我想到了,但是寄宿生需要一直在那里,因为我做的功能是,当我按数字1时,它将数字4更改为5,所以当变量更改时,当给定的输入不会真正改变时,再次打印work@Extraordinary这是你的答案。更新后必须再次记录阵列it@Rilla这不是设定的代码,当我按a键时应该会更新button@Extraordinary根据问题中的代码,将4改为5可以。您可以在事件列表中添加一个console.log来记录更新后的nums数组。因此,当您按数字键7时,它将console.log nums更改为4到5。谢谢,这与我需要的略有不同。这不是问题的答案,但如果您不必支持旧浏览器,请将其删除,我认为你想要实现的目标可以用一个简单的方法来实现。这里有一个简短的解释和一个实现示例