2016-07-26 11 views
-1

Ich habe ein Array wie folgt:Passing eine Variable durch auf ein Array Mitte String

var array = [ 
    'Hey there, ' + name + '!', 
    'It\'s nice to see ' + name + ' join us.', 
    'Everybody welcome ' + name + '!', 
    'Thanks,' + name 
] 

Ich erhalte eine Fehlermeldung, dass name nicht definiert ist, also wenn ich name = ''; bevor es ausdrückte, und Schleife durch das Array, es sagt nur

Hey there, ! 
It's nice to see join us. 
Everybody welcome ! 
Thanks, 

gibt es eine Art, wie ich so etwas wie tun:

name = 'Albz' 
console.log(array[0]); 

und haben es echo

Hey there, Albz! 

Die name Variable ist dynamisch und ändert bei jeder Iteration von forEach, so kann es nicht fest einprogrammiert werden, und ich möchte nicht haben, um die Array jedes Mal zu deklarieren, wie es ist ziemlich lang.

Gibt es eine Möglichkeit, dies zu tun?

+2

diese Array-Elemente-Funktionen machen und lassen Sie sie den Namen als Parameter erhalten. – Bergi

+0

"* redeclare das Array jedes Mal *" - warum das? Sie müssen es nicht fest codieren, nur um es mehrfach zu bewerten. Bitte posten Sie Ihren gesamten Code. – Bergi

Antwort

4

var nameArr = ['Ayan', 'Arnab', 'Akash']; 
 

 
function process(name) { 
 
    return [ 
 
    'Hey there, ' + name + '!', 
 
    'It\'s nice to see ' + name + ' join us.', 
 
    'Everybody welcome ' + name + '!', 
 
    'Thanks,' + name 
 
    ]; 
 
} 
 
for (var i = 0, len = nameArr.length; i < len; i += 1) { 
 
    console.log(process(nameArr[i])[0]); 
 
}

+1

Ah ja das wird funktionieren, danke! – Albzi

+1

Dank Bruder !!! Happy stackOverflowing .... :) – Ayan

+1

Vielen Dank, und Sie! – Albzi