AngularJS:带有DOT变量的阵列读取数组



i具有以下数据库结果(使用sequelize(,结果:

来自数据库的JSON:

 [{"codSparePart":"SP001","name":"NAME","description":"DESCRIPTION","codProject":1,"available":1,"codManufacturer":1,"stock":4,"manufacturer.name":"MAN1","manufacturer.description":"DES1","manufacturer.codManufacturer":1}]

在控制器中我执行下一个:

 vm.spareParts = data.data;
            console.log('-------- ' + JSON.stringify(vm.spareParts));
            for (var i = 0; i < vm.spareParts.length; i++) {
                vm.items.push({
                    codSparePart: vm.spareParts[i].codSparePart,
                    name: vm.spareParts[i].name,
                    description: vm.spareParts[i].description,
                    available: vm.spareParts[i].available,
                    codManufacturer: vm.spareParts[i].codManufacturer,
                    nameManufacturer: vm.sparePart[i]['manufacturer.description'],
                    stock: vm.spareParts[i].stock,
                    codProject: vm.spareParts[i].codProject
                });

除了用点读取变量外,所有人都可以正常工作。 nameManufacturer: vm.sparePart[i]['manufacturer.description'] nameManufacturer: vm.sparePart[i]['manufacturer.name']

我如何阅读这些变量,我正在寻找解决方案,但我认为太简单了,没有任何信息。预先感谢您的帮助。

您有错字,将vm.sparePart更改为vm.spareParts

此行:nameManufacturer: vm.sparePart[i]['manufacturer.description'],

您的代码似乎正常工作:

const array =[{"codSparePart":"SP001","name":"NAME","description":"DESCRIPTION","codProject":1,"available":1,"codManufacturer":1,"stock":4,"manufacturer.name":"MAN1","manufacturer.description":"DES1","manufacturer.codManufacturer":1}]
console.log(array[0]['manufacturer.description']);

更多信息:如果其名称包含点,如何获得JSON对象值?

最新更新