【发布时间】:2020-11-04 23:31:54
【问题描述】:
请参阅下面的最终代码库。我最初尝试将数组用作对象的方法是不正确的。
我正在尝试连接字符串和 int 以查找数组 arr 中的特定项目。当前代码库控制台日志undefined。
谁能解释为什么undefined 被控制台记录?
有问题的代码库:
const a = "T";
const b = 2;
const c = a + b;
let arr = [
T0: 0,
T1: 1,
T2: 1
];
console.log(arr.find(e => e == c));
谢谢。
更多细节(无需阅读):
我正在尝试编写代码以在输入n 时为第 n 个 Tribonacci 数提供答案。
伪代码:
var tribonacci = function(n) {
let arr = [
T0 = 0;
T1 = 1;
T2 = 1;
};
for (i = 0; i < n + 1; i++) {
let ("T" + (i + 3)) = ("T" + i) + ("T" + (i + 1)) + ("T" + (i + 2))
arr.push("T" + (i + 3));
}
return arr.find(e => e == ("T" + (n + 3));
最终代码库:
谢谢大家的反馈。
- 我删除了数组中的“值”,因为没有键和值数组。
- 我删除了
.find()方法并添加了一种更简单的方法来通过arr[n]查找n。
var tribonacci = function(n) {
let arr = [0, 1, 1];
for (i = 0; i < n - 2; i++) {
let add = arr[i] + arr[i + 1] + arr[i + 2]
arr.push(add);
}
return arr[n]
};
【问题讨论】:
-
数组不包含字符串,只包含整数。
-
let arr = [ T0 = 0, T1 = 1, T2 = 1 ];是奇怪的语法,它只是创建了一个数组[0,1,1]并创建了 3 个与数组无关的全局变量 T0、T1 和 T2 - 我认为您需要进修 Javascript 课程语法 -
您还会看到
let ("T" + (i + 3)) =这一行的错误 -
我刚刚得到它。他不希望数组包含字符串,他希望
c包含T2的值。 -
您至少需要了解该语言的基础知识。您正在使用不存在的语法。
标签: javascript arrays find push concat