gpt4 book ai didi

javascript - 我如何在 ember js 中交换数组元素?

转载 作者:行者123 更新时间:2023-11-29 19:16:14 25 4
gpt4 key购买 nike

我是 ember js 的新手,我正在尝试使用 ember js 交换元素,但它不起作用。这是我下面的代码。

function swap(arr) {
let tmp = arr[evt.oldIndex];
arr[evt.newIndex] = arr[evt.newIndex];
arr[evt.oldIndex] = tmp;
}

我查看了 ember 数组,但似乎找不到好的交换逻辑。没有 replaceAt 等。当我尝试破解时看起来很乱。我已用谷歌搜索但未能找到任何答案。

最佳答案

有一个由 Ember Array 实现的 replace 方法,它的规范在这里定义:http://emberjs.com/api/classes/Ember.NativeArray.html#method_replace

假设你有一个包含 4 个项目的数组,你想交换索引 0 和 3 处的 2 个项目,你可以做一些类似于你现在拥有的代码的事情,但是使用替换,你可以这样做:

const myArray = Ember.A([1, 2, 3, 4]);

const first = myArray[0];
const last = myArray[3];

myArray.replace(0, 1, last).replace(3, 1, first);
// mutates myArray and returns [4, 2, 3, 1]

然后,如果您愿意,您可以使用它在您自己的 mixin 中定义您自己的交换方法。有点像

swapItems(arrayToSwap, firstIndex, lastIndex) {
const firstItem = arrayToSwap[firstIndex];
const lastItem = arrayToSwap[lastIndex];

arrayToSwap.replace(0, 1, lastItem).replace(3, 1, firstItem);
return arrayToSwap;
}

关于javascript - 我如何在 ember js 中交换数组元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35151839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com