0

我在javascript中有数组。我希望当我在文本字段中输入数组的任何索引时,它应该返回该数组的值并显示它我正在使用以下代码

 <!DOCTYPE html>
 <html>
 <body>

 <p id="demo">Click the button to extract the second and the third elements from the array.</p>

 <button onclick="myFunction()">Try it</button>

 <script>
 function myFunction()
 {
     var bb=document.getElementById('input_field').value;
     var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango","Apple"];
     var citrus = fruits.slice(bb,4);
     var x=document.getElementById("demo");
     x.innerHTML=citrus;
 }
 </script>

<input type="text" id="input_field">
</body>
</html>

但问题是,如果我在文本字段中输入 2 那么它会显示 Lemon 但是当我输入三个时它只显示一个 Apple 但它应该显示两个因为数组中有两个 Apple 所以我希望如果有两个则显示两个喜欢明智的。

4

2 回答 2

0

作为一个有用的替代方案,我认为像这样管理数据集会更容易:

var fruits = {
    "Banana" : 1,
    "Orange" : 1, 
    "Lemon"  : 1, 
    "Apple"  : 2, 
    "Mango"  : 1
};

甚至...

var fruits = [
    {type : "Banana", qty : 1},
    {type : "Orange", qty : 1}, 
    {type : "Lemon",  qty : 1}, 
    {type : "Apple",  qty : 2}, 
    {type : "Mango",  qty : 1}
];

然后fruits[3].qty; // 2

于 2013-04-01T06:50:48.680 回答
0

Array.slice 提取数组的子范围。您硬编码的“4”是切片的结尾,而不是要提取的项目数。因此,当您输入“2”时,您将获得第三个和第四个元素;当您输入“3”时,您将仅提取数组的第四项,即 fruits[3]。

于 2013-04-01T07:13:32.673 回答