javascript - 用位置替换数组中的对象

标签 javascript arrays methods

该函数将一个对象添加到数组中,并使其在列表中排在第二位。但在这种情况下,我坚持对象,我知道他创建后的编号 (5)。如何使它始终被添加到第二位?

const arr = [{
    "name": "BMW",
    "price": "55 000",
    "country": "Germany",
    "certificate": "yes"
  },
  {
    "name": "Mercedes-benz",
    "price": "63 000",
    "country": "Germany",
    "certificate": "yes"
  },
  {
    "name": "Mitsubishi",
    "price": "93 000",
    "constructor": "Bar John",
    "door": "3",
    "country": "Japan",
  },
  {
    "name": "TOYOTA",
    "price": "48 000",
    "max_people": "7",
    "country": "Japan",
    "certificate": "yes"
  },
  {
    "name": "Volkswagen",
    "price": "36 000",
    "constructor": "Pier Sun",
    "country": "Germany",
    "certificate": "no"
  },
];

function pushArr(arr, item) {
  arr.push(item);
  arr[5] = [arr[1], arr[1] = arr[5]][0];
}

let newArr = pushArr(arr, {
  "name": "Audi",
  "price": "89 000",
  "constructor": "Adolf Trump",
  "country": "Germany",
  "certificate": "yes"
});

console.log(arr);

最佳答案

const arr = [{
    "name": "BMW",
    "price": "55 000",
    "country": "Germany",
    "certificate": "yes"
  },
  {
    "name": "Mercedes-benz",
    "price": "63 000",
    "country": "Germany",
    "certificate": "yes"
  },
  {
    "name": "Mitsubishi",
    "price": "93 000",
    "constructor": "Bar John",
    "door": "3",
    "country": "Japan",
  },
  {
    "name": "TOYOTA",
    "price": "48 000",
    "max_people": "7",
    "country": "Japan",
    "certificate": "yes"
  },
  {
    "name": "Volkswagen",
    "price": "36 000",
    "constructor": "Pier Sun",
    "country": "Germany",
    "certificate": "no"
  },
];

function pushArr(arr, item) {
  let n = arr.length;
  arr.push(item);
  arr[n] = [arr[1], arr[1] = arr[n]][0];
}

let newArr = pushArr(arr, {
  "name": "Audi",
  "price": "89 000",
  "constructor": "Adolf Trump",
  "country": "Germany",
  "certificate": "yes"
});

let newArr2 = pushArr(arr, {
  "name": "Audi2",
  "price": "100 000",
  "constructor": "Adolf Trump",
  "country": "Germany",
  "certificate": "yes"
});

console.log(arr);

关于javascript - 用位置替换数组中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55694012/

相关文章:

python - 棘手的 Python 数组排序

java - Android RecyclerView 根据条件传递和显示 Item 数据

arrays - 索引对象点表示法给出标量属性

iphone - 如何在 objective-c 中将方法设置为类方法的参数

javascript - 为 Firebase 创建函数时如何修复 "Function returned undefined, expected Promise or value"?

javascript - lodash:迭代每个对象并获取其 key

javascript - 无法通过ajax获取完整数组

javascript - jQuery 验证添加方法正则表达式数字带括号

Java 反射 API 和调用具有可变数量参数的方法

java - 将 "this"作为方法参数传递 - 说明