javascript - 类数组对象转换为数组

标签 javascript arrays

我正在尝试使用 JavaScript 来完成我使用 jQuery 完成的 API 响应错误处理。

我在 jQuery 中编写了这段代码来完成我想要的(不同的项目):

var response = e.responseJSON;
$.each(response.errors, function(index, value){
  var div = $("#error_" + index);
  div.html(value[0]).addClass('error');
});

然后我尝试将代码转换为 JavaScript 而不是 jQuery,但我似乎遇到了对象问题,例如将数组转换为数组。对于 e.forEach 循环。

我目前的代码是这样的:

.catch(function(response){
  let e = Object.values(response.response.data)
  let data = Array.from(e[1])
  console.log(e)
  console.log(data)
});

当我记录 data 时,它返回一个空数组。记录时 e 返回类似数组的对象。

enter image description here

我想我正在寻找的是,我做错了什么,是否有更好的方法来实现我想要实现的目标?

最佳答案

e[1] 是一个非数组对象,所以 Array.from(e[1]) 没有意义。我想你想要的是:

let e = Object.values(response.response.data);
for (var index in e[1]) {
    var div = document.getElementById('error_' + index);
    div.innerHTML = e[1][index][0];
    div.classList.add("error");
}

关于javascript - 类数组对象转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46308452/

相关文章:

javascript - 如何删除此 CSV 生成器 for 循环中的多余逗号

javascript - 在 iFrame 的父窗口中打开一个 div

javascript - 使用 sequelize findAll 时,forEach 找不到正确的用户 ID

javascript - 如何从 babel 处理的 rollup 包中删除 use strict

javascript - 将 PictureStream 转换为 HTML5 canvas

javascript - 将模型保存在本地存储中

c - 将大写字母从 char 数组分离到新数组中,并在 C 中为其重新分配内存

java - 如何从列表 <object> 中删除重复项

javascript - 查找与顺序无关紧要的嵌套数组的精确匹配

android - 对象内对象与改造