2016-06-24 8 views
0

In NodeJS (neuesten), ich bin in der LageNodeJS Druck Array-Elemente alles außer ersten Index

console.log(args[0]) 
console.log(args[1]) 
console.log(args[2]) 

In meinem Fall zu drucken, die Funktion, wo ich diese Argumente Indexvariable bin Drucken verwendet NodeJS Kind. spawn (command, args) Weg dh ein Benutzer kann 1, 2 oder 5 oder N nein passieren. von Argumenten. Da ich nicht weiß, wie viel ein Benutzer setzen kann, kann ich die console.log() Zeilen für diese N no nicht codieren. einzelner Indizes.

Wie kann ich alle Argumente außer index args [0] drucken?

Index args [1] enthält den Befehlsnamen, den ich drucken kann. Index args [2] weiter, kann args [2] = "-c", args [3] = "param1", args [4] = "paramX paramY" usw. enthalten, je nachdem, wie ein Benutzer die Argumente verschoben hat Args Array in Ihrer. Js-Datei vor dem Aufruf der Funktion, die console.log Zeilen druckt.

Ich möchte die Ausgabe drucken wie: args [0] =/usr/bin/bash args [XXX] = -c, param1, param2, param3 param4, param5 etc, etc-etc

+0

Was haben Sie versucht, so weit? Ist args.forEach ((el, i) => {wenn (i! = 0) {console.log (el)}} nicht genug? –

+0

@JoseHermosillaRodrigo OP versucht Index 1 zu überspringen, nicht 0. –

+0

@ m-a-r-c-e-l-i-n-o kleiner Fehler, als er sagte das erste Element, das ich bezweifelt habe, das im anwser korrigiert wurde. –

Antwort

0

wenn ich das richtig verstanden, Sie suchen etwas in dieser Richtung:

// wrap in function to mimic the arguments object 
 
function execute() { 
 

 
    // declare a place to store the arguments 
 
    var result = [] 
 
    
 
    // iterate through each argument 
 
    Array.from(arguments).forEach((value, key) => { 
 
    // skip the second key 
 
    if (key > 0) { 
 
     // store each argument in the result array 
 
     result.push(value) 
 
    } 
 
    }) 
 

 
    // console log the result array as multiple arguments 
 
    console.log.apply(null, result) // -> /usr/bin/bash -c param1 param2 param3 
 
} 
 

 
// mock command 
 
execute('/usr/bin/bash', 'command', '-c', 'param1', 'param2', 'param3')

ich hoffe, das hilft!

0

Wie ich in Kommentaren sage, ist etwas wie das, was Sie wollen.

function func(...args){ 
 
    args.forEach((el, i)=>i != 1 && console.log(el)); 
 
}; 
 

 
func('/usr/bin/bash', 'Something not used', '-c', 'param1', 'param2', 'param3');

Wenn Sie mit arguments Variable:

function func(){ 
 
    // Equivalent to [...arguments] 
 
    Array.from(arguments).forEach((el, i)=>i != 1 && console.log(el)); 
 
}; 
 

 
func('/usr/bin/bash', 'Something not used', '-c', 'param1', 'param2', 'param3');

Verwandte Themen