将 Var 的值推入数组

Posted

技术标签:

【中文标题】将 Var 的值推入数组【英文标题】:Pushing value of Var into an Array 【发布时间】:2010-11-20 03:23:56 【问题描述】:

我知道这可能是一个简单的问题,但我正在尝试对插件进行调整,而 js 不是我的专长,我对如何执行以下操作感到困惑:

我有一个数组,可以包含多个值 ($fruit),具体取决于用户输入的内容。我想向数组中添加另一个不是由手动输入确定的变量。

我知道 push 应该在这里应用,但它似乎不起作用,为什么下面的语法不起作用?

var veggies = "carrot";
var fruitvegbasket = $('#fruit').val();
fruitvegbasket.push(veggies);

更新: 我得到了它的工作:

var fruit = $('#fruit').val();
var veggies = "carrot";
fruitvegbasket = new Array();
fruitvegbasket.push(fruit+","+veggies);

不确定这是最好的方法,但它确实有效。谢谢大家!

【问题讨论】:

【参考方案1】:

在我的脑海中,我认为应该这样做:

var veggies = "carrot";
var fruitvegbasket = [];
fruitvegbasket.push(veggies);

【讨论】:

【参考方案2】:

jQuery 与数组不同。如果你想在 jQuery 对象的末尾附加一些东西,使用:

$('#fruit').append(veggies);

或将其附加到您的示例中的表单值的末尾:

 $('#fruit').val($('#fruit').val()+veggies);

在您的情况下,fruitvegbasket 是一个包含 #fruit 的当前值的字符串,而不是一个数组。

jQuery (jquery.com) 允许对 DOM 进行操作,并且您调用的特定函数 val()input 元素的 value 属性作为字符串返回。你不能把东西压到字符串上。

【讨论】:

veggies 之前不需要','+ 吗?【参考方案3】:

.val() 不会从 DOM 元素返回数组:$('#fruit') 将在文档中查找 ID 为 #fruit 的元素并获取其值(如果它有值)。

【讨论】:

【参考方案4】:

也许$('#fruit').val(); 没有返回一个数组,你需要类似的东西:

$("#fruit").val() || []

http://docs.jquery.com/Attributes/val

【讨论】:

以上是关于将 Var 的值推入数组的主要内容,如果未能解决你的问题,请参考以下文章

将值推入散列中的数组

从对象数组中推入数组中的值

将 1D 向量作为行推入 2D 向量数组

如何从 excel 中读取数据并推入 asp.net 中的数组?

如何将对象数组推入数组

VueJs 仅将数组推入数组值