array.map()不是函数reactjs

时间:2018-05-20 14:23:07

标签: javascript reactjs

我有一个从数组拼接后存储数据的函数。

const removedItemstax = {};
    function findAndRemove1(array, property, value) {
        array.forEach(function(result, index) {
       if(result[property] === value) {
      //Remove from array
        var removedItem= array.splice(index, 1);
        removedItemstax.push(removedItem);
      }    
    });
    }

当我尝试使用下面的代码来映​​射它以获得不同的值const tax = removedItemstax.map(d => d.taxId)我收到.map()不是函数的错误。

但是当我将数组removedItemstax推送到控制台时,我会看到存储在其中的所有元素。

我在设置状态后通过props传递数组removedItemstax = {}时出现相同的错误。

映射返回undefined,但推送它直接显示分配给数组的完整数据。我按照常规方法进行映射。

2 个答案:

答案 0 :(得分:0)

您可以尝试这种方式:

const removedItemstax = [];
function findAndRemove1(array, property, value) {
    array.forEach(function(result, index) {
        if(result[property] === value) {
            //Remove from array
            var removedItem = array.splice(index, 1);
            removedItemstax.push(removedItem);
        }    
    });
}

相反removedItemstax是一个对象,他可以成为一个数组

答案 1 :(得分:0)

我找出了映射时获取undefined元素的原因。这是因为多维数组存储在属性const removeItemstax = []中。

我正在使用下面的命令在映射之前将多维数组展平为普通数组。

这是语法: const removedItemstax1 = [].concat.apply([], removedItemstax);