拆分为数组并作为参数传递
split into array and pass as arguments
我有一个字符串,我想打断它,并像函数中的参数一样传递它的一半。但函数将参数视为一个整体。示例: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
传递到Menu
。然后,当你引用arguments对象时,你会得到字符串值:
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);
}
您应该再次应用.split
,还可以将数组项作为单个参数传递:
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() {
console.log(arguments); // you'll have all the items as a single argument
// so
console.log(arguments[0]);
//this will return aaa for "item_menu1" and dd for "item_menu2"
}
var text = "aaa,bbb,ccc@dd,eee,fff"
var itens_menu = text.split(',');
item = Menu(itens_menu[0]);
item2 = Menu(itens_menu[1]);
function Menu()
{
var ItemText = arguments[0];
alert(ItemText);
}
var
text = "aaa,bbb,ccc@dd,eee,fff",
items_menu = text.split('@'),
item_menu1 = items_menu[0],
item_menu2 = items_menu[1],
item = Menu.apply(null, item_menu1.split(',')),
item2 = Menu.apply(null, item_menu2.split(','));
function Menu(entry1, entry2, entry3) {
console.log('arguments[0] : ', arguments[0]);
console.log('arguments[1] : ', arguments[1]);
console.log('arguments[2] : ', arguments[2]);
return {
entry1: entry1,
entry2: entry2,
entry3: entry3
};
}
console.log('item : ', item);
console.log('item2 : ', item2);
相关文章:
- 通过Meteor中的ReactiveVar传递数组
- 多次向函数传递数组
- 传递数组以馈送 svg.js 的折线数组方法会引发错误
- 通过ajax传递数组和其他数据
- 如何在GULP任务中循环传递数组
- 用javascript传递数组值
- Javascript-如何通过以字符串作为参数返回数组
- 在函数中传递数组
- 使用javascript传递数组中json值的列表
- 使用jQuery deffered.resolveWith()在单个参数中传递数组
- 在隐藏输入中传递数组
- JavaScript 函数参数传递数组
- 如何在控制器类中传递数组
- 通过函数传递数组's参数
- 如何在 JavaScript 函数中从 PHP end 传递数组字符串作为参数
- 在javascript中传递数组元素作为AJAX POST请求的参数
- Javascript-使用传递的参数更新数组
- 使用jquery/javascript在URL中传递数组作为参数
- 如何通过Jquery中的方法post传递数组和参数
- 通过传递函数作为参数合并数组