javascript拼接

javascript拼接,javascript,Javascript,我有一个数组MyArray,我想在位置I删除一个元素 我试过: MyArray = MyArray.splice(i, 1); 但是它返回的是我想要删除的元素,而不是没有我想要删除的元素的数组 我相信这是一个简单的解决方案,无论如何,谢谢。你已经差不多明白了!但是,不要将其指定给新值。。只需使用现有阵列 MyArray.splice(i, 1); Something = MyArray; 希望这有帮助 您应该阅读 总结 更改数组的内容,在删除旧元素的同时添加新元素 更改原始数组,而不是返回

我有一个数组MyArray,我想在位置I删除一个元素

我试过:

MyArray = MyArray.splice(i, 1); 
但是它返回的是我想要删除的元素,而不是没有我想要删除的元素的数组


我相信这是一个简单的解决方案,无论如何,谢谢。

你已经差不多明白了!但是,不要将其指定给新值。。只需使用现有阵列

MyArray.splice(i, 1);
Something = MyArray;
希望这有帮助

您应该阅读

总结 更改数组的内容,在删除旧元素的同时添加新元素

更改原始数组,而不是返回删除了指定元素的新数组<代码>MyArray.拼接(i,1)应该足够了。

更改

MyArray = MyArray.splice(i, 1); 
进入

splice()是一种破坏性方法,因为它除了返回值之外还有副作用。当它返回已删除的元素时,它会修改传入的实际数组

alert("Before: " + MyArray);
MyArray.splice(i, 1);
alert("After: " + MyArray);

splice
在位编辑阵列

var arr = [1, 2, 3, 4];
// arr is [1, 2, 3, 4];
var el = arr.splice(0, 1);
// el is [1], arr is now [2, 3, 4].

我有一个类似的问题,特别是因为我只想删除数组中的一个特定项,而不是所有匹配该项的项

我为KO可观测阵列创建了这个扩展,它似乎可以工作。我还没有尝试过使用对象数组,但我不明白为什么这样做行不通

当我第一次学习KO时,我很难处理数组,因此我希望这对其他人有用:

JavaScript:

ko.observableArray.fn.removeAt = function (index) {
  this.valueWillMutate();
  this.splice(index, 1);
  this.valueHasMutated();
}
HTML:


X
语法 描述 更改数组的内容,在删除旧元素的同时添加新元素

返回 包含已删除元素的数组。如果只删除一个元素,则返回一个元素的数组。如果未删除任何元素,则返回空数组

这里有另一种方法(如果您仍然希望将其设置为变量并保持原始数组不变):


根据数组的结构,有时查询/操作字符串而不是数组更容易(有时反之亦然)

是的,拼接方法编辑现有数组并将删除的元素作为单独的数组返回。拼接后检查MyArray。更多信息:好的,谢谢;希望这个问题的标题能够得到seo优化,这样其他人就可以在不必对整个文档进行排序的情况下找到它:)
ko.observableArray.fn.removeAt = function (index) {
  this.valueWillMutate();
  this.splice(index, 1);
  this.valueHasMutated();
}
<div data-bind="foreach: Answers">
    <input type="text" data-bind="value: $data"/>
    <button 
        data-bind="click: function(){ $parent.Answers.removeAt($index()) }"                          
        title="Remove"
    >X</button>
</div>
array.splice(index , howMany[, element1[, ...[, elementN]]])
// example array
var foo = ['1', '13', '44', '17', '17', '19', '1', '7', '17'];

// lets say we want to remove one of the 17s from the array
// convert array to string, do replacements, then convert back
var bar = foo.join().replace('17', '').replace(/\,\,/gi, ',').split(',');

// should log ['1', '13', '44', '17', '19', '1', '7', '17']
console.log(bar);