关于这个答案,如何在 JavaScript 中清空数组?建议将数组长度值设置为 0,因此如果 A = [0,0,0,0] 则 A.length = 0 应该使其 A = [] 但我无法用我的代码实现这一点,
我觉得我确实做对了,但是 javascript 打印了错误的变量
我的代码是这样的:
client.fetchCart(localStorage.getItem('lastCartId')).then(function(remoteCart) {
console.log(cart);
cart.lineItems.length = 0 ;
console.log(cart.lineItems.length);
console.log(cart.lineItems);
client.updateCart(cart);
});
Run Code Online (Sandbox Code Playgroud)
在将数组长度设置为 0 之前记录购物车,然后再次记录,但在我的调试中,两个记录的购物车具有相同的 lineItems.length。这意味着将其设置为 0 并使用 cart.lineItems.length = 0 ;还没有工作:(
有什么建议么?
JavaScript Ninja的秘密展示了如何删除和设置元素的文本:
HTML
<div id="test">Hey!
<div id="child">delete me</div>
</div>
Run Code Online (Sandbox Code Playgroud)
.
使用Javascript
var b = document.getElementById("test");
console.log("b before:", b);
while(b.firstChild) {
console.log("removing child:",b.firstChild);
b.removeChild(b.firstChild);
}
console.log("b's value post remove:", b);
b.appendChild(document.createTextNode("Some new text."));
var text = b.textContent || b.innerText;
console.log("text:", text);
Run Code Online (Sandbox Code Playgroud)
这是控制台输出:
b before: <div id=?"test">?Some new text.?</div>?
removing child: "Hey!"
removing child: <div id=?"child">?delete me?</div>?
removing child: " "
b's value post remove: <div id=?"test">?Some new text.?</div>?
text: Some new text.
Run Code Online (Sandbox Code Playgroud)
当HTML明确设置b为时Some new text.?,怎么可能相等Hey! …
我真的不明白这里可能会发生什么。所以我有一个函数,该函数需要一个2d数组和一个字符串,并遍历2d数组并检查是否有任何子数组包含该字符串。但是我不能以某种方式遍历这个对象/数组,而对于它的真正含义我感到很困惑。我在javascript中做了很多迭代。我已经尝试了for-in,for-of(es6),C stlye(如下所示),forEach(回调),地图...没有任何效果。
_makeOrUpdateCase = (arrayOfArrays, str) => {
console.log(arrayOfArrays); //returns the object/array shown in image below, expected
console.log(typeof(arrayOfArrays)); //object
console.log(Array.isArray(arrayOfArrays)); //true - huh? is this array or object??
for (var i = 0; i < arrayOfArrays.length; i++) {
console.log(arrayOfArrays[i]) //this does not work
console.log(i); //nothing is printed out, as if the loop is simply ignored
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的输出。您可以看到我在循环中打印的内容没有执行。我知道javascript可能很奇怪,但是请问这是怎么回事,我不知道该怎么办。我在这段代码中多次遍历数组和对象。
我有一个对象,其中一个数组(类对象)作为其值之一。我有一个函数,部分地在该数组内(对象内)的对象之一上运行类方法。
当我运行代码时,在函数之前和之后打印数组,更改在函数运行之前和之后都存在。
为什么会发生这种情况?吊装?
作为测试,我在对象中创建了另一个键:值对,使得该值是一个整数,并将我的函数更改为将该整数增加 1。在这里,它工作正常 - 在函数之前打印我的对象整数为1,然后整数为2。
我也尝试不使用对象上的类方法来进行调整,但仍然失败。
class Book{
constructor (color, title, pagecount){
this.color = color;
this.title = title;
this.pagecount = pagecount;
}
changePages() {
this.pagecount += 50;
}
}
let book1 = new Book("Red", "Book1", 100);
let book2 = new Book("Blue", "Book2", 200);
let book3 = new Book("Green", "Book3", 300);
var myBookArr = [book1, book2, book3]
var myObj = {arr: myBookArr, integerTest: 0}
function thisDoesStuff(){
//other operations not related to myObj
myObj.arr[0].changePages();
}
Run Code Online (Sandbox Code Playgroud)
当我在两个 console.logs 中运行以下命令时,它显示 arr[0] (即 …
我在处理数组时遇到问题,无法确切地找到问题所在。
首先,一个函数在循环中执行以下两行:
varArray[overlapCounter] = [a, b, c];
overlapCounter++;
Run Code Online (Sandbox Code Playgroud)
如果我运行console.log(varArray),chrome日志会显示以下内容:
[]
Run Code Online (Sandbox Code Playgroud)
通过打开方括号,这是内容:
Array[0]
0: Array[6]
1: Array[6]
2: Array[6]
3: Array[6]
4: Array[6]
5: Array[6]
6: Array[6]
7: Array[6]
8: Array[6]
9: Array[6]
10: Array[6]
11: Array[6]
12: Array[6]
13: Array[6]
14: Array[6]
15: Array[6]
16: Array[6]
17: Array[6]
18: Array[6]
19: Array[6]
20: Array[6]
21: Array[6]
22: Array[6]
23: Array[6]
24: Array[6]
25: Array[6]
26: Array[6]
27: Array[6]
28: Array[6]
29: Array[6]
30: Array[6]
length: 31
__proto__: Array[0] …Run Code Online (Sandbox Code Playgroud) 我正在尝试将我构建的 PHP 函数移植到 Javascript,并且发现了许多差异,导致了大量额外的工作。我被困在这个问题上,找不到任何逻辑:
X: 95.29
Y: 27.39
testParse2.RXdec : 0.1
var curPos={};
curPos={};
console.log(curPos); //X:97.19 Y:27.39 (I expect an empty object)
console.log(curPos['X']); //undefined (seems ok but makes no sense with above)
console.log(curPos['Y']); //undefined (seems ok but makes no sense with above)
for(var Ri=0; Ri < 20; Ri++){
curPos['X'] = "";
curPos['Y'] = "";
console.log(curPos['X']); // "" (seems ok)
console.log(curPos['Y']); // "" (seems ok)
console.log(curPos); //X:97.19 Y:27.39
curPos.X = (((XY(lastPos[AV['A']], 'X')*1)+(testParse2.RXdec*1*Ri)).toFixed(10)*1);
curPos.Y = (((XY(lastPos[AV['B']], 'Y')*1)+(testParse2.RYdec*1*Ri)).toFixed(10)*1);
console.log(curPos); // X:97.19 Y:27.39 (I …Run Code Online (Sandbox Code Playgroud)