仅将键:值对附加到我的数组元素一次
To append an Key:Value pair to my array element only once!
var people =[{title:'Alan', hasChild:true},
{title:'Alice', hasDetail:true},
{title:'Amos',},
{title:'Alonzo'},
{title:'Brad'},
{title:'Brent'},
{title:'Billy'},
{title:'Brenda'},
{title:'Callie'},
{title:'Cassie'},
{title:'Chris'}];
默认情况下,我的数组不包含任何键,值对,即header:'A'
,header:'B'
,"标头"C"等...我在运行时添加它们。
for (i = 0, len = people.length; i < len; i++) {
var headerValue = people[i].header = people[i].title.charAt(0);
}
通过这样做,我的数组有一个新的键,值对'Header:'FirstLetter of the title'
。
var people =[{title:'Alan', hasChild:true, header:'A'},
{title:'Alice', hasDetail:true,header:'A'},
{title:'Amos',header:'A'},
{title:'Alonzo',header:'A'},
{title:'Brad',header:'B'},
{title:'Brent',header:'B'},
{title:'Billy',header:'B'},
{title:'Brenda',header:'B'},
{title:'Callie',header:'C'},
{title:'Cassie',header:'C'},
{title:'Chris',header:'C'}];
我不想将 header:value 添加到所有元素中,如果我将 header:value 添加到标题以"A"开头的元素中,那么标题以 A 开头的其余元素应该被忽略。我想要这种格式的数组。
var people =[{title:'Alan', hasChild:true, header:'A'},
{title:'Alice', hasDetail:true,},
{title:'Amos'},
{title:'Alonzo'},
{title:'Brad',header:'B'},
{title:'Brent'},
{title:'Billy'},
{title:'Brenda'},
{title:'Callie',header:'C'},
{title:'Cassie'},
{title:'Chris'}];
我更新的代码....
function SortByName(x,y) {
return ((x.LastName == y.LastName) ? 0 : ((x.LastName > y.LastName) ? 1 : -1 ));
}
function RenderPatientSearchData(PatientSearchResponse){
var PatientSearchData = JSON.parse(PatientSearchResponse);
var results = PatientSearchData['PatientSearchResult'];
results.Patient.sort(SortByName);
rowData = [];
var prevHeader = '';
for (i = 0, len = results.Patient.length; i < len; i++) {
var headerValue = results.Patient[i].header = results.Patient[i].LastName.charAt(0);
if (headerValue !== prevHeader) {
headerValue = results.Patient[i].header = results.Patient[i].LastName.charAt(0);
}
prevHeader = headerValue;
....... some code...
}
跟踪循环中的标头值:
var prevHeader = '';
for (i = 0, len = people.length; i < len; i++) {
var headerValue = people[i].title.charAt(0);
if (headerValue !== prevHeader) {
people[i].header = headerValue;
}
prevHeader = headerValue;
}
注意:要完成此操作,必须事先对people
数组进行排序
相关文章:
- 如何在JavaScript中剥离数组元素中的非整数
- 给定一个带有数字的数组,我如何编写一个递归函数,当 2 个元素加起来为一个目标时,它会在数组中查找索引
- 敲除:如何编程可观察数组元素之间的相互依赖关系
- 为什么我的数组在我的 savetime 函数中未定义,但在其他函数中正常运行
- 根据数组元素中的子字符串对 Javascript 数组进行排序
- 在一个对象的Javascript数组中,如果一个特定的数组元素本身就是一个对象数组,我如何通过名称/ID来定位该元素
- Meteor:访问数组元素中的javascript对象元素
- 如何强制javascript数组从我的自定义对象继承
- 访问导致我的应用程序崩溃的数组元素
- 计算数组元素总和的最快方法
- 如何使用参数对象从数组中删除元素-我的代码有什么问题
- HTML文本转储到JavaScript数组破坏我的代码
- 如何使用JSON中的数组作为我的数据
- 这对于数组元素上的简单数组迭代操作来说是最有效的
- 检查json数组与我的值做操作,否则其他操作
- 试图传递一个填充数组到我的res.render.不确定如何进行适当的异步回调
- 什么's使用php访问数组元素中的字段的正确方法
- 数组元素内的引号
- lodash计算数组元素之间的差异
- Javascript中的Java数组索引:我的语法是否正确