gpt4 book ai didi

javascript - 数组的奇怪行为 - 无法理解为什么

转载 作者:行者123 更新时间:2023-11-28 13:12:15 25 4
gpt4 key购买 nike

我是 JS 的初学者,只是想了解下面代码中发生的情况。可能这很愚蠢,但是 - 好吧,就像我说的,我是初学者;)

首先它只是分割数组,它是 makeFriendlyDates(['2016-07-01', '2016-08-04']); 的参数功能。

所以,现阶段一切看起来都很好。然而当我打电话 function changeToFriendly(arr1);存在的唯一原因是将数字更改为月份名称,它以某种方式改变 newArr以及。

所以如果我注释掉这一行://changeToFriendly(newArr);然后newArr是应该的,但是如果 changeToFriendly(newArr);被称为它以某种方式改变newArr而不是只返回月份名称。

我的问题是如何 changeToFriendly(newArr);可以更改newArr如果函数不对数组执行任何操作,则只需遍历它并检查与月份名称相对应的数字。

function makeFriendlyDates(arr) {
var newArr = [];
var elem;
for (elem in arr) {
newArr.push(arr[elem].split('-'));
}
document.getElementById('result').innerHTML = newArr;

function changeToFriendly(arr1) {
var month = '';
var elem1;
for (elem1 in arr1) {
if (arr1[elem1][1] = '01') {
month = 'January';
} else if (arr1[elem1][1] === '02') {
month = 'February';
} else if (arr1[elem1][1] === '03') {
month = 'March';
} else if (arr1[elem1][1] === '04') {
month = 'April';
} else if (arr1[elem1][1] === '05') {
month = 'May';
} else if (arr1[elem1][1] === '06') {
month = 'June';
} else if (arr1[elem1][1] === '07') {
month = 'July';
} else if (arr1[elem1][1] === '08') {
month = 'August';
} else if (arr1[elem1][1] === '09') {
month = 'September';
} else if (arr1[elem1][1] === '10') {
month = 'October';
} else if (arr1[elem1][1] === '11') {
month = 'November';
} else if (arr1[elem1][1] === '12') {
month = 'December';
}

}
document.getElementById('result1').innerHTML = newArr;
return month;
}

changeToFriendly(newArr);
}
makeFriendlyDates(['2016-07-01', '2016-08-04']);
<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8">
<title>Title</title>
</head>

<body>

<p id="result"></p>
<p id="result1"></p>

</body>

</html>

最佳答案

您的问题可能是这里的单个 =:

for (elem1 in arr1) {
if (arr1[elem1][1] = '01') {
^^^

...这意味着您的 if 始终评估为 true。

关于javascript - 数组的奇怪行为 - 无法理解为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41492846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com