簡體   English   中英

JavaScript:在匿名函數中替代ForEach和回調

[英]JavaScript: Subsititute ForEach and callback in anonymous function

function to_json(workbook) {
  var result = {};

  workbook.SheetNames.forEach(function(sheetName) {
    var roa = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
    if(roa.length > 0){
      result[sheetName] = roa;
    }
  });
  return result;
}

我有上面的代碼。 為了讓匿名函數僅在SheetNames中的第一個元素上運行,如何進行更改? (或另選其他方式以獲得相同的結果)。

我到目前為止已經知道了,我不確定它是正確的。

...剪

var tmpArray = workbook.SheetNames.slice(0);

  tmpArray.forEach(function(sheetName) {

...剪

一種方法就是您提到的,但是.slice(0)返回整個數組,因此僅對第一項使用.slice(0,1)

var tmpArray = workbook.SheetNames.slice(0, 1);
tmpArray.forEach(function(sheetName) { /* ... */ })

但是,如果你只是要處理的第一個項目,你可以取消forEach()anonymous()完全:

function to_json(workbook) {
    var result = {},
        sheetName = workbook.SheetNames[0],
        roa = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
    if(roa.length > 0) result[sheetName] = roa;
    return result;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM