【问题标题】:Passing a variable through to an array mid string将变量传递给数组中间字符串
【发布时间】:2016-11-30 05:41:51
【问题描述】:

我有一个这样的数组:

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

我收到一条错误消息,指出 name 未定义,所以如果我将 name = ''; 放在它之前,然后循环遍历数组,它只会显示

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

有没有办法可以做类似的事情:

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

并让它回响

Hey there, Albz!

name 变量是动态的,在forEach 的每次迭代中都会发生变化,因此它不能被硬编码,而且我不想每次都重新声明数组,因为它很长。

有没有办法做到这一点?

【问题讨论】:

  • 使这些数组元素成为函数,并让它们接收名称作为参数。
  • "每次都重新声明数组" - 为什么?您不必硬编码它只是为了多次评估它。请发布您的整个代码。

标签: javascript arrays variables scope


【解决方案1】:

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]);
}

【讨论】:

  • 谢谢你!
猜你喜欢
  • 1970-01-01
  • 2020-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-27
相关资源
最近更新 更多