拆分成数组并作为参数传递
split into array and pass as arguments
我有一个字符串,我想将它的一半像函数中的参数一样传递。但是该函数将参数视为整个 piece.Example: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];
}
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);
}
.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
。然后当你引用参数对象时,你会得到字符串值:
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);
}
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);
你应该再次应用 .split
,你也可以将 array 项作为单个参数传递:
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"
}
我有一个字符串,我想将它的一半像函数中的参数一样传递。但是该函数将参数视为整个 piece.Example: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];
}
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);
}
.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
。然后当你引用参数对象时,你会得到字符串值:
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);
}
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);
你应该再次应用 .split
,你也可以将 array 项作为单个参数传递:
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"
}