【发布时间】:2021-08-04 00:31:13
【问题描述】:
我有一个名为data 的变量,它为函数带来了一个数组。
然后我决定继续只使用数组的第一个元素 (data[0])。如果我做以下任何一个,会有什么不同吗?
-
重用/替换数组变量名称
data,为其分配第一个元素,即data = data[0]并继续使用
data -
声明一个新变量并将其分配给数组数据的第一个元素,即
var data_new = data[0]
做第一个有什么问题吗?在任何情况下我应该严格使用第二个而不是第一个?
我之所以问这个问题是因为我遇到了一个与此相关的奇怪问题,当我从获取请求中获取数据时,它在我使用时有所不同第一种方法和第二种方法。
fetch("some json array returning url").then(response=>{
response.json().then(data => {
data = data[0]
setState(data);
return;
// Vs
var data2 = data[0]
setState(data2);
return;
//based on which is uncommented
}
}
在我的第一个块中(使用相同的变量data),结果是随机变化的。但是当我使用第二块时,它变得稳定且可预测。
具体来说,对于["data"]形式的数据,使用第一个block时,结果在"data"和"d"之间波动,而使用第二个block时,结果会在"data"和"d"之间波动总是返回“数据”
很抱歉,我无法举出一个完全可重现的例子,但如果有任何可能的理由根据 javascript 语言,基于上述简单的用例,它会真正帮助我。
【问题讨论】:
标签: javascript reactjs