首页 > 解决方案 > 在本机反应中推送数组而不是字符串

问题描述

我想将我的数据推送到数组中,但它显示了我在 react native 中的字符串。
我的代码是这样的:

const dataSource = responseJson.old_cases.reduce(function (sections, item) {
    let section = sections.find(section => section.gender === item.gender);
    
    if (!section) {
        section = { gender: item.gender,data:[] };
        sections.push(section);
    }
    
    section.data.push(item.name)
    return sections;
}, []);

this.setState({dataSource: dataSource // Pass the dataSource that we've processed above});

我的代码的输出是

[
    {"gender": "Male", "data": ["name_1", "name_2"]}, 
    {"gender": "Female", "data": ["name_3", "name_4",'name_5']},
]

如您所见,名称是字符串,我需要那种输出

[
    {"gender": "Male", "data": [{"name_1"}, {"name_2"}]}, 
    {"gender": "Female", "data": [{"name_3"}, {"name_4"},{'name_5'}]},
]

标签: react-nativepush

解决方案


我们不能在对象内应用字符串值。

喜欢。

[
    {"gender": "Male", "data": [{"name_1"}, {"name_2"}]}, 
    {"gender": "Female", "data": [{"name_3"}, {"name_4"},{'name_5'}]},
]

我们必须应用如下键值对:

section.data.push({ [item.name]: item.name })

推荐阅读