作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要根据服务器的响应更新本地数据库中的数据,但我从服务器获取了本地数据库不需要的大量数据,因此我手动删除了那些不需要的值,但我想这样做以动态的方式进行。所以我使用 pragma 从本地数据库获取列名称,并将从服务器获得的值与我存储在数组中的名称进行比较。但是我想将键和值存储在对象中。任何人都可以吗告诉我怎么做?
columns = ['id', 'name', 'category'];
category = {id: 122, name: 'ABD', category: 'Food', created_at: '2014-05-20', is_deleted: 'false'};
我需要的结果是: var data = {id:122, name:'ABD',category:'食品'};
代码:
for (var j = 0; j < columns.length; j++) {
$log.log('Merged data is', value.category[columns[j]]);
$log.log('Data is', data);
}
最佳答案
您可以迭代数组并检查该元素是否是对象中的属性。如果没有,那么您可以从对象中删除该属性。
for (var j = 0; j < columns.length; j++) {
if(category[columns[j]] === undefined){
delete category[columns[j]];
}
}
编辑:
正如评论中所要求的,如果您不想删除属性,您可以创建一个具有所需属性的新对象:
var data = {};
for (var j = 0; j < columns.length; j++) {
data[columns[j]] = category[columns[j]];
}
console.log(data);
关于javascript - 如何在javascript中从数组和另一个对象传递对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46321732/
我是一名优秀的程序员,十分优秀!