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];