在js裡,in 的 右手邊 應該是一個物件Object

這個報錯代表著你在非物件類型的變量使用in來查找是否符合條件

以下是錯誤案例:

"Hello" in "Hello World";
// TypeError: cannot use 'in' operator to search for 'Hello' in 'Hello World'

如果是String應該使用Includes()

"Hello World".includes("Hello");
// true

確保要查找的變量不是null或undefined

const foo = null;
"bar" in foo;
// TypeError: cannot use 'in' operator to search for 'bar' in 'foo' (Chrome)
// TypeError: right-hand side of 'in' should be an object, got null (Firefox)

因為in總是期望一個Object

const foo = { baz: "bar" };
"bar" in foo; // false

"PI" in Math; // true
"pi" in Math; // false

在Arrays使用in

const trees = ["redwood", "bay", "cedar", "oak", "maple"];
3 in trees; // true
"oak" in trees; // false

在Arrays裡使用in,只能用來查找是否有該index,而不能查找值