Javascript - 创建数组索引和访问

Ben*_*Ben 0 javascript arrays indexing

我正在寻找使用索引的时间戳创建一个简单的数组,以便我可以通过时间戳访问值而无需遍历数组,但我正在努力!

我需要能够为每一行设置2个值.

例如:

var myarray = [];
var test1 = 'hello'
var test2 = 'world'

myarray[timestamp] = [test1, test2];
Run Code Online (Sandbox Code Playgroud)

因此,对于给定的时间戳,例如12345678,我如何访问test2的值?

感谢任何想法和建议.

问候,本.

Koo*_*Inc 7

如果以这种方式使用数组,最终会得到一个包含大量undefined值的数组:

var myarr = [];
myarr[1000] = 'hello';
console.log(myarr.length); //=> 1001 
console.log(myarr[0]); //=> undefined
console.log(myarr[999]); //=> undefined
Run Code Online (Sandbox Code Playgroud)

因此,您可能希望使用一个对象并使用某种排序.例如

var myobj = {}, timestamp = new Date().getTime();
myobj[timestamp] =   ['hello','world'];
myobj[timestamp+1] = 'how are we today?';

function retrieveSorted(obj){
  var keys = Object.keys(obj).sort(), key, ret = [];
  while(key = keys.shift()){
    ret.push(obj[key]);
  }
  return ret;
}

var sorted = retrieveSorted(myobj); 
   //=> [["hello", "world"], "how are we today?"]
myobj[timestamp][1]; //=> world
Run Code Online (Sandbox Code Playgroud)