开发者问题收集

在基于 React 类的组件中,slice() 方法不起作用

2020-09-09
922

我遇到一个错误,我无法在 react 中使用 javascript 的 .slice() 方法,基本上我在基于类的组件中的函数内调用slice() 方法,并且我放置切片的函数被传递给 2 个级别的子组件并从那里触发 onClick 事件,但问题是切片方法没有完成删除元素的工作,它只是控制台相同的数组,这里我以简单的概念向您展示代码,

useSlice = () => {
  let arr = ['a', 'b', 'c'];
  console.log(arr.slice(1, 1));
}

useSlice()

此代码在控制台中打印数组的相同值,而不是显示修改后的数组。 该怎么办???

2个回答

您应该阅读有关 splice 如何工作的更多详细信息: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice

slice 中的第二个参数是结束索引(不包括)。因此,如果您 arr.slice(1,1): 意味着从索引 1 到索引 就在 1 之前切片将始终返回空数组。

顺便说一句,如果您想删除元素。您应该改用“splice”。

Viet Dinh
2020-09-09

arr.slice(1,1) 返回 [] ,正如它应该的那样。您从元素 1 开始,到元素 1 结束,即零个元素。这实际上是范围 1-0,您无法做到这一点。

Yatrix
2020-09-09