我是node.js的初学者。实际上我试图从Android设备发送一个arrayList并尝试打印单独索引的结果但我无法实现这一点,因为js
不支持关联数组概念。
发送到服务器的数据是{names:'[a,b]'}
格式,所以我的问题是如何获得每个元素,即' a' &安培; ' B'分别
答案 0 :(得分:3)
您应该将数组发送为{name:['a','b']},而不在数组周围添加引号。 您可以使用以下语法
获取索引data = { name : ['a', 'b'] } // this is from device
Array.prototype.map
data.name.map(function(element){
console.log(element);
})
您可以在此处详细了解地图,array.prototype.map
的forEach
data.name.forEach(function(element){
console.log(element);
})
两者都会打印一个b
答案 1 :(得分:2)
考虑将您的对象传递为{name: ['a', 'b']}
(如上面提到的Ashish),然后您可以使用ES6语法(如果您使用最新的LTS节点版本)来破坏您的对象:
const { name } = {name: ['a', 'b']}; const { a, b } = name
如果您仍希望以{name: '[a, b]'}
的身份接收对象,则必须首先解析字符串数组。
答案 2 :(得分:-1)
如果这是格式
{names:'[a,b]'}
然后这将为您提供名称数组
<objectName>.names.split('[')[1].split(']')[0].split(',')