私のアプリケーションでは、配列から要素を削除する必要があります。しかし、私はJSが初めてです。Web を検索したところ、すべてのブログ投稿が splice() メソッドについて話していました。それで使おうと思ったのですが、とても変な挙動をしています。
ここで私が見つけた投稿: http://www.w3schools.com/jsref/jsref_splice.asp http://viralpatel.net/blogs/javascript-array-remove-element-js-array-delete-element/
これが私のテストです:
it("should delete all elements in array", function () {
var ary = new Array();
for (i = 0; i < 10; i++) {
ary[i] = Math.random();
}
expect(ary.length).toBe(10);
for (i = 0; i < 10; i++) {
ary.splice(i, 1);
}
expect(ary.length).toBe(0);
});
そして、ここにテストの結果があります:
Firefox 15.0.1 Linux: Run 7 tests (Passed: 6; Fails: 1; Errors 0) (44.00 ms)
should delete all elements in array failed (5.00 ms): Error: Expected 5 to be 0.
私はAngular JSを使用しています。
返信ありがとうございます。合格しない別のテストを次に示します。
var ary = new Array();
ary = ['a', 'b', 'c', 'd'];
ary.splice(0, 1);
ary.splice(1, 1);
ary.splice(2, 1);
ary.splice(3, 1);
expect(ary.length).toBe(0);
Firefox 15.0.1 Linux: Run 7 tests (Passed: 6; Fails: 1; Errors 0) (49.00 ms)
Posting server policy.should delete all elements in array failed (5.00 ms): Error: Expected 2 to be 0.
@Matteo Tassinariが示唆しているように、これはすべての要素を正しく削除する必要があります??