javascript - 从 map 值中删除最后一个字母

标签 javascript jquery angularjs

所以我从后端得到这个:

{"Item":{"userEmail":"b","Username":"bUsername","Push":"sdsdsd","Password":"sdsds","Buddy":{"datatype":"SS","contents":{"Drake":"Drake","Ola":"Ola","b":"b","d":"d"}}}}

我使用Object.Keys缩小contents至:

Drake,Ola,b,d

然后我map给予:

[{"id":"Drake"},{"id":"Ola"},{"id":"b"},{"id":"d"}]

然后在我的 Angular 前端上使用 .id 。我想删除每个值的最后一个字母,即留下 Drak,Ol等等。我尝试了很多方法但都失败了,我该如何实现这一目标,以便 id有那些值吗?

编辑

我现在还想获取被剪切的值并将其添加,这样最终产品将是 [{"id":"Drak",valueThatWasCut:"e"}]

最佳答案

您可以迭代对象的键并使用短字符串构建新对象。

var data = {"Item":{"userEmail":"b","Username":"bUsername","Push":"sdsdsd","Password":"sdsds","Buddy":{"datatype":"SS","contents":{"Drake":"Drake","Ola":"Ola","b":"b","d":"d"}}}},
    ids = Object.keys(data.Item.Buddy.contents).reduce(function (r, k) { 
        var n = k.slice(0, -1);
        return n ? r.concat({ id: n }) : r;
    }, []);

console.log(ids);

关于javascript - 从 map 值中删除最后一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40317943/

相关文章:

javascript - AngularJS 中最近的父选择器

javascript - ng-class 在表的第一行有类并在 ng-click 上删除它

c# - 使用 css 在鼠标悬停时更改 asp.net 按钮的颜色

javascript - 使用 JQuery 和 Slick 过滤产品轮播

javascript - Bootstrap 表单重复内容

jquery - 按特定顺序对 div 进行排序

jquery - 如何使用 jQuery 创建自定义表单验证?

html - 如何检测 angular.js 中的 keydown 或 keypress 事件?

javascript - 获取本地存储中对象的特定元素

javascript - 在按钮的onclick监听器中获取父 View 的数据