我有一个对象数组。我想从我的对象数组中选择一些值,然后将其发送到我正在调用componentDidMount的api的请求参数中。 我的阵列-
ValueError Traceback (most recent call last)
<ipython-input-4-0664c7dc8c6b> in <module>
1 first_image = train_generator[0][0]
2 first_image = np.array(first_image, dtype='float')
----> 3 pixels = first_image.reshape((28, 28))
4 plt.imshow(pixels, cmap='gray')
5 plt.show()
ValueError: cannot reshape array of size 6291456 into shape (28,28)
为了获得价值,我正在这样做-
const myArray = [
{
id:'73',
name:'ABC',
age: '20',
},
{
id:'74',
name:'XYZ',
age: '21',
},
{
id:'75',
name:'PQR',
age: '22',
},
{
id:'76',
name:'TUV',
age: '23',
}
]
useEffect(
() => {
const newData = myArray.map(list => {
// Logic to add few more keys to existing array
return newData; // new array with few additional properties
});
let data= newData.map(({name, age}) => ({name,age}));
const reqParams = {
userData: {
data: [
{
data,
},
],
},
};
getUserData(reqParams); // API call
[],
);
这将返回一个数组,因此,我不确定这是否是正确的方法。试图了解如何将值传递给我的请求参数。
答案 0 :(得分:0)
您可以通过将其包装在({})
大括号中来在地图回调中创建新对象
let data= myArray.map(({name, age}) => ({name,age}));
const reqParams = {
userData: {
data
},
};
答案 1 :(得分:0)
如果尚未尝试,请尝试按以下方式编写newData计算:
const newData = myArray.map(list => {
return {
...list,
key: value // additional property
}
});
答案 2 :(得分:0)
这是在单个循环中实现所需输出的示例代码
const myArray = [{
id: '73',
name: 'ABC',
age: '20',
}, {
id: '74',
name: 'XYZ',
age: '21',
}, {
id: '75',
name: 'PQR',
age: '22',
}, {
id: '76',
name: 'TUV',
age: '23',
}]
const newArr = myArray.map((d,index) => {
// return new obj structure with subset of myArray and extra values
const extraData = {
company: 'foo', // adding company & city [read/get it from anywhere]
city:'bar',
sampleIndex: index+1
}
const newObj = {
name: d.name, // not adding id, age
...extraData
}
return newObj
})
console.log("newArr ", newArr)
const reqParams = {
userData: {
data: newArr
},
};
console.log("reqParams ", reqParams)