javascript - 拆分为数组并作为参数传递

标签 javascript arrays split parameter-passing apply

我有一个字符串,我想分解它并传递它的一半,就像函数中的参数一样。但该函数将参数视为一整 block 。示例:aaa,bbb,ccc(3 个参数),但它理解一个参数'aaa,bbb,ccc'。我该怎么做?

var text = "aaa,bbb,ccc@dd,eee,fff"
var itens_menu = text.split('@');
var item_menu1 = itens_menu[0];
var item_menu2 = itens_menu[1];

item = Menu(itens_menu[0]);
item2 = Menu(itens_menu[1]);


function Menu()
{
    var ItemText = arguments[0];
}

最佳答案

.split() 再次计算每个值。但您还需要将正确的变量传递给 Menu。您传入的是 itens_menu[0],但您应该传入 item_menu1

选项 1:使用参数

var text = "aaa,bbb,ccc@dd,eee,fff"
var itens_menu = text.split('@');
var item_menu1 = itens_menu[0].split(',');
var item_menu2 = itens_menu[1].split(',');

var item = Menu(item_menu1);
var item2 = Menu(item_menu2);


function Menu() {
  var ItemText = arguments[0]; // this is the array
  console.log(ItemText);
  
  // if you are wanting to first value of the array, you would do
  // console.log(ItemText[0]) which would be either aaa, or dd
}

<小时/>

选项 2:使用 apply

如果您希望将所有值作为单独的参数传递给 Menu,则需要 apply数组到菜单。然后,当您引用参数对象时,您将获得字符串值:

var text = "aaa,bbb,ccc@dd,eee,fff"
var itens_menu = text.split('@');
var item_menu1 = itens_menu[0].split(',');
var item_menu2 = itens_menu[1].split(',');

var item = Menu.apply(null, item_menu1);
var item2 = Menu.apply(null, item_menu2);


function Menu() {
  var ItemText = arguments[0];
  console.log(ItemText);
}

关于javascript - 拆分为数组并作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38513341/

相关文章:

python - 在 Python 中访问数组列的最佳方法是什么?

tensorflow - 预训练的 Tensorflow 模型 RGB -> RGBY channel 扩展

javascript - 未捕获的语法错误 : Unexpected token s in JSON at position 0 at JSON. 解析(<匿名>)

javascript - HTML5 视频当前时间和缓冲

javascript - 将 json 数组解析为 javascript 数组?

c - p = (int(*)[3])malloc(3*sizeof(*p)); 是什么意思?

python - 提取列表中每 m 行的 n 行

java - 分割字符串时出错

javascript - 使用 CSS 类作为编程逻辑的一部分来实现业务规则是否不好?

javascript - Jquery通过调用相同的名称获取正确的元素ID?