(javascript) 在数组内的 object 上调用方法

(javascript) Calling a method on an object inside an array

我不确定我是否正确命名了标题。让我解释一下我的小问题。

我的代码片段很短:

var myArray= new Array([new Date()],[123],[abc]);
var time = myArray[0].getTime()

我想把数组里面object保存的时间写到"time"变量中。 我只是认为这会起作用,但我收到错误消息。

Uncaught TypeError: myArray[0].getTime is not a function

显然我做错了,但我不知道问题是什么以及如何正确地做。

它在另一个数组中:

var time = myArray[0][0].getTime();
//                   ^^^

工作示例:

var myArray = new Array([new Date()], [123], ['abc']),
    time = myArray[0][0].getTime();

alert(time);

您定义数组数组 [[]、[]、[]],因此要获取日期元素,您应该这样做:

var myArray= new Array([new Date()],[123],['abc']);
var time = myArray[0][0].getTime();

您使用的代码创建了一个包含数组的数组:

var myArray= new Array([new Date()],[123],[abc]); // [[new Date()],[123],[abc]]

所以你必须打电话给

myArray[0][0].getTime()

你可能想做

var myArray = new Array(new Date(),123,abc); // [new Date(),123,abc]

或者干脆

var myArray = [new Date(),123,abc];

作为提示,当您遇到这些错误时,请尝试 console.log 变量。你会看到你期望的日期实际上是一个只有一个位置的数组,并且很容易发现错误:)