从锯齿状阵列中获取相等的字符串?

时间:2014-02-01 05:12:03

标签: javascript

我正在尝试创建一个锯齿状数组,向其添加大量技术术语和定义,然后打印出随机术语及其相应的定义。

这是我的代码,它接近工作,但不完全在那里。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>GLOSSARY</title>
</head>

<body>

<script> 

window.onload = function(){

    function randomRange(l,h){
        var range = (h-l);
        var random = Math.floor(Math.random()*range);
        if (random === 0){random+=1;}
        return l+random;
    }

    document.write("<h1> GLOSSARY </h1>"); 
    document.body.style.backgroundColor = "#AA0000";

    var a = [[],[]]; 
    a.push('hobo', 'person who drinks and drifts'); 
    a.push('google', 'Search Company'); 
    a.push('Stack Overflow', 'smart dudes who answer stuff'); 

    var r = randomRange(0, a.length);
    document.writeln(a[r],[r]);

};

</script>

</body>
</html>

3 个答案:

答案 0 :(得分:1)

为什么不创建一个对象数组?例如:

var a = [];
a.push({ name: 'hobo', desc: 'person who drinks and drifts' }); 
a.push({ name: 'google', desc: 'Search Company' }); 
a.push({ name: 'Stack Overflow', desc: 'smart dudes who answer stuff' }); 

然后,您可以将第3项的描述引用为a[2].desc,例如。

答案 1 :(得分:0)

如果你看一下数组的内容,我想你会发现a.push没有按照你的想法做到。

你可能意味着这个

var a = [];
a.push(['hobo', 'person who drinkd and drifts'])

答案 2 :(得分:0)

其他人给了你很好的回复。我会使用散列(关联数组)并使用第一个术语作为键,即。 “google”,“hobo”并以这种方式工作..但鉴于你目前的结构,你可以通过这样做来解决它。

var a = []; 
a.push(['hobo', 'person who drinks and drifts']); 
a.push(['google', 'Search Company']); 
a.push(['Stack Overflow', 'smart dudes who answer stuff']); 

var r = randomRange(0, a.length);
document.writeln(a[r][0],a[r][1]);