繁体   English   中英

当数据不是某个索引位置时更改元素数组

[英]Change element array when the data is not certain index position

我正在学习 javascript 对象数组,当我从 API 获取数据时,有时我会在不确定的索引位置从 API 获取数据,例如像这样:

[
  {formatted_name: 'central_java', name: 'Central Java'},
  {formatted_name: 'east_java', name: 'East Java'},
  {formatted_name: 'west_java', name: 'West Java'},
];

有时像这样:

[
  {formatted_name: 'east_java', name: 'East Java'},
  {formatted_name: 'central_java', name: 'Central Java'},
  {formatted_name: 'west_java', name: 'West Java'},
];

有时也是这样:

[
  {formatted_name: 'west_java', name: 'West Java'},
  {formatted_name: 'central_java', name: 'Central Java'},
  {formatted_name: 'east_java', name: 'East Java'},
];

我想问的是,当我从 fetch API 获取数据时,如何创建条件或更改数组元素的位置,以便formatted_name: 'east_java'始终索引为 0?

我试过这段代码,但它不起作用:

function insertAndShift(arr, from, to) {
  let cutOut = arr.splice(from, 1)[0];
  arr.splice(to, 0, cutOut);
}

使用上面的代码时,代码不能灵活,因为formatted_name: 'east_java'总是不确定它在什么索引上。 我该怎么办?

请找到以下代码:

 test = [ {formatted_name:'west_java', name:'West Java'}, {formatted_name:'central_java', name:'Central Java'}, {formatted_name: 'east_java', name:'East Java'}, ]; test.forEach(function(value, key) { if (value.formatted_name == "east_java"){ test.splice(key, 1); test.unshift(value) } }); console.log(test);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM