Javascript 如何在react中更改数组的某些值
我在做react项目。我有一个数组,它不是一个状态变量,而是一个常量。数组包含Javascript 如何在react中更改数组的某些值,javascript,arrays,Javascript,Arrays,我在做react项目。我有一个数组,它不是一个状态变量,而是一个常量。数组包含未定义的值作为其元素。我想将未定义的值设为空数组。数组最后应该包含没有未定义值的值。有人能帮忙解决这个问题吗 如果数组是[undefined,1,2,[],我需要将其转换为[],1,2,[] array.forEach(数据集=> (dataSet.dataPoint=(dataSet.dataPoint==未定义)?[]:dataSet.dataPoint) ); 您可以在数组上映射,并在新数组中返回所需的值: ar
未定义的值作为其元素。我想将未定义的值设为空数组。数组最后应该包含没有未定义值的值。有人能帮忙解决这个问题吗
如果数组是[undefined,1,2,[],我需要将其转换为[],1,2,[]
array.forEach(数据集=>
(dataSet.dataPoint=(dataSet.dataPoint==未定义)?[]:dataSet.dataPoint)
);
您可以在数组上映射
,并在新数组中返回所需的值:
array = array.map(dataSet =>
(dataSet.dataPoint = (dataSet.dataPoint === undefined) ? [] : dataSet.dataPoint)
);
let数组=[{},{dataPoint:1},{},{dataPoint:2}];
array=array.map(数据集=>
(dataSet.dataPoint=(dataSet.dataPoint==未定义)?[]:dataSet.dataPoint)
);
console.log(数组)
您可以将您的数组映射到另一个数组:
const array2 = array1.map(item => {
return typeof item === 'undefined'
? []
: item
})
1)当您试图以forEach
的形式返回数组时,请使用map
,只需在数组上迭代即可
const array = [undefined, 1,2,[] ]
let newArr = array.map((dataSet) => {
return dataSet = (dataSet === undefined) ? [] : dataSet
})
console.log(newArr) // [[], 1, 2,[]]
你试过的有什么问题?你的代码似乎做了你想做的事情。这不会变异或重新分配array
array.filter(item=>item)的值。我得到一个错误,箭头函数不应该返回赋值。eslint@skovy我不想删除这些值。如果值未定义,我想用空数组替换它。我更新了代码段,你试过运行它吗?@skovy array是一个consuselet
或创建一个新变量let newArray
?@skovy除了创建新变量还有其他方法吗