javascript - 具体的对象是如何从对象内部的数组中移除的? (使用 pop() 或其他解决方案)

标签 javascript arrays json object

我想从 myObj 中的年份中删除“hello5”。

我使用了“pop”原型(prototype),但浏览器控制台返回了这个结果:

“未捕获的类型错误:无法读取未定义的属性‘类型’”

以下是我的问题的示例。您可以尝试并从控制台看到错误消息。

我尝试了很长时间但没有找到任何解决方案,我需要您的建议和解决方案。

代码:

var myObj = {
  test : 'testObje',
  langs : {
    0 : 'EN',
    1 : 'GR',
    2 : 'RU',
    3 : 'TR'
  },
  comment : 'testComment'
};
var years = [];
  for (i= 0; i<=10; i++)
    {
      years.push({
        operator : i,
        type : 'hello' + i
      });
};
myObj.years = years;

var myObjLeng = myObj.years.length;
for(var i = 0; i < myObjLeng; i++) {
    if(myObj.years[i].type == 'hello5') {
        myObj.years.pop();
    }
}

最佳答案

这个怎么样?

myObj.years = myObj.years.filter(year => year.type != "hello5")

简而言之,您使用 myObj.years 数组在 filiter 回调中过滤其名为 year 的每个元素。过滤器会将满足条件的这些元素通过。除了带有 type 和你的 "hello5" 表达式的以外,所有的都会满足。最后,您将结果替换回来,您就完成了。

关于javascript - 具体的对象是如何从对象内部的数组中移除的? (使用 pop() 或其他解决方案),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57116897/

相关文章:

javascript - 这种多重悬停效果是否可以仅使用 CSS?

javascript - ng-change 不起作用

java - 需要对多个日志文件进行过滤、解析和排序

char 数组转换为结构内的字符串

javascript - 使用嵌套在两个键内的 JSON 代码创建一个数组

python - Django MultiValueDictKeyError 什么时候发生以及如何避免?

使用 charCodeAt 验证 JavaScript 电话号码

javascript - 使用 Javascript 向现有 CSS 元素添加像素

java - 从 arraylist 创建二维数组

javascript - jsonresult 数据集传递给另一个actionresult