javascript .map,如何添加显示当前位置的字符串

时间:2016-02-02 17:18:43

标签: javascript dictionary

可能标题令人困惑,我正在使用返回平方根的数组上的.map,并且我想添加到新数组“is root of”

var numbers=[4,9,16];

var root= numbers.map(Math.sqrt + 'is root of' + roots.indexOf());
console.log(root);

在这个例子中,我使用了indexOf,但这不对。 谢谢!

2 个答案:

答案 0 :(得分:1)

你真的不想说它是索引的根,你想要用原始值报告。但是,在下面的示例中,您可以看到,如果您想要索引,它将作为参数传递给地图函数

var numbers=[4,9,16];

var root= numbers.map(function (val, index){
  return Math.sqrt(val) + ' is root of ' + val
});
console.log(root);

答案 1 :(得分:0)

map接受函数,该函数接收值的值和索引(以及数组引用)作为参数。

所以也许:

var numbers = [4, 9, 16];

var root = numbers.map(function(value) {
  return Math.sqrt(value) + ' is root of ' + value;
});
snippet.log(JSON.stringify(root));
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="//tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

注意我刚使用value。如果由于某种原因你真的想要索引,它是map回调收到的第二个参数:

var root = numbers.map(function(value, index) {
  return Math.sqrt(value) + ' is root of ' + value + ' which is index ' + index + ' in the array';
});