切片剂量在函数js中起作用

时间:2016-11-10 19:30:57

标签: javascript

做eloquentJS练习很简单。切片不会从函数参数

中的数组返回正确的输出
for column, text in enumerate(row[1:], 1):
    tableWidget.setItem(rowNumber + 1, column, QTableWidgetItem(text))

3 个答案:

答案 0 :(得分:2)

Array.prototype.slice()不会改变调用它的数组,但会返回一个新数组。将此返回值分配给insertTab,它可以正常工作:



console.log(swapArray([1, 2, 3, 4, 5, 6, 7]));

function swapArray(insertTab) {
  console.log([0, 1, 2, 3, 4].slice(2, 4));
  insertTab = insertTab.slice(2, 4);
  return insertTab;
}




答案 1 :(得分:1)

console.log(swapArray([1,2,3,4,5,6,7]));    
 function swapArray(insertTab){  
     console.log([0, 1, 2, 3, 4].slice(2, 4));   
     insertTab = insertTab.slice(2, 4);
     return insertTab;  
}

<强> DEMO

答案 2 :(得分:1)

好吧,如果您阅读了documentation,那么

  

slice()方法将数组的一部分的浅表副本返回到从头到尾选择的新数组对象( end not included )。 原始数组不会被修改

因此,在您的情况下,只需直接返回您想要的部分

function swapArray(insertTab) {
    console.log([0, 1, 2, 3, 4].slice(2, 4)); // this work fine
    return insertTab.slice(2, 4);
}