javascript - 为什么我不能将此变量重新分配给 node.js 中的新值?

标签 javascript node.js algorithm

我知道选择排序算法不正确。现在没问题,但为什么 我不能在 j for 循环中将 iMinimum 分配给 j 吗? 我正在使用 Node 版本 10+。 console.log“iMinimum is now …”显示了上面早些时候分配的变量值,所以我很困惑。

 console.log('SELECTION SORT')

let data = [5,1,3,9,4]

for(let i = 0; i < data.length; i++){
 iMinimum = i


for(let j = iMinimum+1; j < data.length; j++){
     console.log(`j is now ${j}`)
     if(data[j] < data[iMinimum]){
         iMininum = j
         console.log(`iMinimum is now ${iMinimum} and j is ${j}`)
     }
}
data[i] = data[iMinimum] 
}

console.log(`Sorted Array: ${data}`)

最佳答案

你有一些拼写错误,请注意 iMininumiMinimum

要让解释器警告您未声明的变量,请以

开始您的文件
'use strict';

这将启用 strict mode ,迫使您声明所有变量。

为了进一步分析,运行 linter,例如 eslint .这将自动检测您的问题:

   7:5   error  'iMinimum' is not defined                       no-undef
   8:17  error  'iMinimum' is not defined                       no-undef
  10:28  error  'iMinimum' is not defined                       no-undef
  11:14  error  'iMininum' is not defined                       no-undef
  12:45  error  'iMinimum' is not defined                       no-undef
  15:20  error  'iMinimum' is not defined                       no-undef

关于javascript - 为什么我不能将此变量重新分配给 node.js 中的新值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53878978/

相关文章:

javascript - 如果我有Leaflet的经纬度,如何得到大概的地址?

node.js - 英特尔爱迪生 MRAA 模块不工作

node.js - 如何计算 macOS 上安装的所有 node_modules 的大小?

c# - 寻找集体智慧 .Net/C# 资源

algorithm - 列表中数字的倍数

algorithm - 我怎样才能对相似词进行搜索匹配

javascript - 为什么 JS 客户端不从服务器接收二进制文件?

javascript - 加载 javascript 和 iframe 之间的通信

javascript - 在 Click 事件中从多个 div 中删除/添加悬停事件

javascript - 如何在 contextIsolation 设置为 true 时从 HTML 文件访问 require