为什么数组未定义?

时间:2016-10-09 21:29:35

标签: javascript

在下面的代码片段中为什么我看到未定义的记录?但是如果我将调用区分为方法并存储在某个局部变量中然后执行 var range = function (max) { var result = []; var index; for (index = 0; index <= max; index = index + 1) { result.push(index); } return result; }; var arr= range(100).forEach(function (number, index,array) { if (number % 3 == 0) { array[index] = "c"; } }); console.log(arr); ,则它可以正常工作。

$(document).on("click", ".removeRow", function() {
    var table = $('#example').DataTable();  
  var row;

  console.log($(this).closest('table'));
  if($(this).closest('table').hasClass("collapsed")) {
    var child = $(this).parents("tr.child");
    row = $(child).prevAll(".parent");
  } else {
    row = $(this).parents('tr');
  }

  table.row(row).remove().draw();

});

1 个答案:

答案 0 :(得分:1)

因为forEach函数返回undefined。请改为查看map函数。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach