马黑黑 发表于 2022-2-7 23:23

JS:添加数组元素

数组可以是动态变化的,比如给已有数组添加一个用户提供的信息:
<div id="fruit">
    <p>水果种类:</p>
</div>

var ar_fruit = ["苹果", "梨子", "李子"];
var i = 0;
var fruit_str = "<br>";

while(i<ar_fruit.length) {
    fruit_str += ar_fruit + "<br>";
    i++;
}
document.getElementById("fruit").innerHTML += fruit_str;



以上,仅将原有数组元素呈现在 id 标识为 fruit 的 div 内,下面假设我们接收到了一个用户的数据,“火龙果”,现在我们把它这个果的品类添加到我们的数组:

var myNum = ar_fruit.length;
ar_fruit = "火龙果";

上面代码,第一行我们声明一个数值变量,令其值等于数组元素的长度,它将等于 3 ,因为前面定义的数组有三个元素,但其实不论多少个数组元素,myNum 变量如此获取都是下一行要添加的数组元素的下标,因为数组元素的下标从 0 算起。第二行,给数组添加第 myNum 个数组元素,此时,数组元素应该是这样子:

ar_fruit = ["苹果", "梨子", "李子", "火龙果"];

如果我们用上面的 while 循环语句来显示所有数组元素,那就不再是前面声明的三样果品,而是四样。

马黑黑 发表于 2022-2-7 23:23

<div id="fruit"><p>水果种类:</p></div>
<p><br /><input id="addFruit" type="button" value="添加果类" /></p>

<script language="javascript">

var ar_fruit = ["苹果", "梨子", "李子"];
var i = 0;
var fruit_str = "<br>";

while(i<ar_fruit.length) {
    fruit_str += ar_fruit + "<br>";
    i++;
}
document.getElementById("fruit").innerHTML += fruit_str;

document.getElementById('addFruit').onclick = function(){
        var newFruit = prompt("请添加水果品种:","火龙果");
        if(newFruit !="" && newFruit != null) {
                var myNum = ar_fruit.length;
                ar_fruit = newFruit;
                document.getElementById("fruit").innerHTML += ar_fruit + "<br>";
        }
}

</script>

马黑黑 发表于 2022-2-7 23:26

二楼的演示,所添加的东东甚至可以是酱紫的:

<img src="图片地址" />

{:4_170:}

红影 发表于 2022-2-8 10:51

马黑黑 发表于 2022-2-7 23:26
二楼的演示,所添加的东东甚至可以是酱紫的:

我加了水果名称,可以显示。原来甚至可以加图片的啊{:4_187:}

红影 发表于 2022-2-8 10:56

http://image.hnol.net/c/2022-02/08/10/202202081055354191-5088534.gif

{:4_173:}

红影 发表于 2022-2-8 10:56

那么也能加音乐?

红影 发表于 2022-2-8 10:56

又是个交互方式,黑黑厉害{:4_187:}

马黑黑 发表于 2022-2-8 13:46

红影 发表于 2022-2-8 10:51
我加了水果名称,可以显示。原来甚至可以加图片的啊

因为没有做任何限制

马黑黑 发表于 2022-2-8 13:47

红影 发表于 2022-2-8 10:56


通常,JS没有记录功能,所以玩完玩。你这是把自己当水果加入了数组元素,固定的{:4_170:}

马黑黑 发表于 2022-2-8 13:48

红影 发表于 2022-2-8 10:56
那么也能加音乐?

叫 audio 标签可以,啥都可以,只要文本长度不超过 prompt 对话框的限制

红影 发表于 2022-2-8 19:47

马黑黑 发表于 2022-2-8 13:46
因为没有做任何限制

哦,只要能显示的都行的吧。

红影 发表于 2022-2-8 19:48

马黑黑 发表于 2022-2-8 13:47
通常,JS没有记录功能,所以玩完玩。你这是把自己当水果加入了数组元素,固定的

我只是随手找个图片试验一下{:4_189:}

红影 发表于 2022-2-8 19:48

马黑黑 发表于 2022-2-8 13:48
叫 audio 标签可以,啥都可以,只要文本长度不超过 prompt 对话框的限制

哦哦,那么这个文本长度是自动的还是自己可以设置的。

马黑黑 发表于 2022-2-8 19:48

红影 发表于 2022-2-8 19:48
我只是随手找个图片试验一下

可以的可以的

马黑黑 发表于 2022-2-8 19:49

红影 发表于 2022-2-8 19:48
哦哦,那么这个文本长度是自动的还是自己可以设置的。

具体有规范,我记不清,试过才知道

马黑黑 发表于 2022-2-8 19:50

红影 发表于 2022-2-8 19:47
哦,只要能显示的都行的吧。

对,合法的且不超过它规定可以接收的长度的

红影 发表于 2022-2-8 20:40

马黑黑 发表于 2022-2-8 19:48
可以的可以的

结果把自己跟水果名同框了{:4_189:}

红影 发表于 2022-2-8 20:41

马黑黑 发表于 2022-2-8 19:49
具体有规范,我记不清,试过才知道

哦哦,看起来挺长,我那个头像的地址就不短的。

红影 发表于 2022-2-8 20:41

马黑黑 发表于 2022-2-8 19:50
对,合法的且不超过它规定可以接收的长度的

这个真好。

马黑黑 发表于 2022-2-8 21:16

红影 发表于 2022-2-8 20:41
这个真好。

也许吧,我也不清楚,毕竟,很多情形,需要的不是这个,而是苹果呀什么的{:4_170:}
页: [1] 2 3 4
查看完整版本: JS:添加数组元素