使用 jQuery 在 Angular 中使用嵌套的 $each 函数和条件填充数组
Populating array with nested $each functions and conditionals in Angular with jQuery
我有一个 json 对象,我从一个角度应用程序中的 get 请求中获取。它给了我两个主要属性data
和included
。included
对象在某种程度上是与data
对象的关系。例如,data
显示消息并included
这些消息的发件人。我设法通过检查数据对象中的一个属性是否与包含对象中的另一个属性相同来将每条消息与发件人相关联。这是我的代码
$http.get('data.json').then(
function(jsonAPI) {
console.log(jsonAPI);
var dataObj = {};
var messages = [];
$.each(jsonAPI.data.data, function(x, data) {
dataObj[x] = data;
$.each(jsonAPI.data.included, function(y, included) {
if (data.relationships.sender.data.id == included.id) {
dataObj[x].sender = included;
}
});
messages.push(dataObj[x]);
});
$scope.newMessages = messages;
},
function(errorResponse) {
// todo handle error.
}
);
我创建了一个新数组,其中包含所有data
对象以及 sender
属性下的发送者信息。问题是添加了一个名为 user_data_template
的新关系。我希望以类似的方式能够将相应的user_data_template
数据传递给messages
数组。如何更改上述嵌套$each函数来实现这一点?
这是一个工作弹道
我设法找到了解决方案。我不得不将代码更改为以下内容:
$.each(jsonAPI.data.data, function(x, data) {
dataObj[x] = data;
$.each(jsonAPI.data.included, function(y, included) {
if(data.relationships.sender.data.id == included.id && included.type == "user") {
dataObj[x].sender = included;
}
if(data.relationships.user_data_template.data !== undefined) {
if(data.relationships.user_data_template.data.id == included.id && included.type == "user_data_template") {
dataObj[x].question = included;
}
}
});
messages.push(dataObj[x]);
});
和新的普伦克
相关文章:
- 调用$.each()函数时上下文发生变化
- 鉴于 for..在构造中,库提供的函数(如 jQuery.map() 或 _.each())有什么用
- jquery.each函数和传递变量
- $.each 中的“this”,当需要使用“this”访问对象的函数时
- 如何选择嵌套了两个 .each() 函数的多个元素
- Javascript each() 函数删除链接
- 我是否错误地使用了jQuery .each函数
- javascript使用$.each解析内容,并创建一个数组发送给函数
- 需要 $.each 函数来更改 json 字符串
- jQuery插件返回this.each并为每个对象添加函数属性
- jshashtable.each使用现有函数
- 使用JavaScript中的for each函数比较数组中的值
- 实现Jquery时出现问题'成对元素上的s.each()函数
- 在jquery each()迭代器函数中访问JS对象
- Jquery .each 函数上的奇怪问题
- 对jQuery $.each函数感到困惑
- .each() 在 .clone() 之后用于验证函数
- 如何获取在 each 函数中迭代的当前项
- 如何在jquery函数$.each($(“abc”)内传递变量.
- 使用函数"each"创建多个数组;从jQuery