Javascript 从文本数组中获取数据
试图从文字数组中提取数据,但我做了一些错误的事情,因为它不起作用Javascript 从文本数组中获取数据,javascript,angularjs,arrays,Javascript,Angularjs,Arrays,试图从文字数组中提取数据,但我做了一些错误的事情,因为它不起作用 $http.get('/api/user/' + $routeParams.id) .then(function (res) { var user = res.data.message; console.log(user) }, function (err) { console.log(err); }) 上面的代码为我提供了如下数组
$http.get('/api/user/' + $routeParams.id)
.then(function (res) {
var user = res.data.message;
console.log(user)
}, function (err) {
console.log(err);
})
上面的代码为我提供了如下数组:
[{"id": "1", "name": "user1"}]
我试图获得以下数据,但没有成功
vm.user = user.id;
//or
vm.user = user[0].id;
当我这样做的时候
console.log(user[0]);
我得到[作为输出]
我做错了什么?我需要使用循环吗?更改
var user=res.data.message
到
var user=res.data
然后
console.loguser[0]
把它打印出来
另外请注意,vm.user和user是两个不同的变量。请确保您正在打印要将数据绑定到的变量。如果代码中的控制台输出[{id:1,name:user1}]为您提供[,则您没有数组…您有字符串。字符串可以通过索引访问,因此:
测试[0]==T,测试[1]==E-等等
如果是这种情况,那么您需要将字符串解析为一个json对象数组——您可以使用json.parse ala执行此操作:
var userArray=JSON.parseuser
可能是您的API返回的是字符串而不是JSON对象,但是根据您发布的详细信息很难知道。如果数组被称为user,并且包含您描述的数据,则该数组为user[0]。id应该可以工作……user[0]。id应该可以工作。如果执行console.loguser[0]。id?vm.user=user[0],您会得到什么.id应该可以工作。我们可以获取有关它为什么不工作的更多信息吗?当我添加console.loguser[0].id时,我将处于未定义状态,当我添加console.loguser[0]时,我将处于未定义状态[由于outputit不起作用,它未定义…数据在message中返回您是从工厂返回数据还是在控制器中执行此操作?请显示更多代码。在控制器中,而不是执行此操作var user=res.data.message;do vm.user=res.data;然后是console.logvm.user[0];