相关疑难解决方法(0)

数组显示为空,但它包含值

在此输入图像描述 任何人都可以帮助我理解为什么数组显示为空,当它还显示它有数据/值时?

我无法访问数据.见图片以供参考.

javascript arrays console

2
推荐指数
1
解决办法
5533
查看次数

如何在javascript中清除数组?

关于这个答案,如何在 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 arrays

2
推荐指数
1
解决办法
2万
查看次数

删除并设置元素的文本

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! …

html javascript

1
推荐指数
1
解决办法
45
查看次数

无法遍历我的数组/对象。Javascript,React Native

我真的不明白这里可能会发生什么。所以我有一个函数,该函数需要一个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可能很奇怪,但是请问这是怎么回事,我不知道该怎么办。我在这段代码中多次遍历数组和对象。在此处输入图片说明

javascript arrays loops javascript-objects reactjs

1
推荐指数
1
解决办法
1622
查看次数

为什么这个对象在函数运行之前发生变化?

我有一个对象,其中一个数组(类对象)作为其值之一。我有一个函数,部分地在该数组内(对象内)的对象之一上运行类方法。

当我运行代码时,在函数之前和之后打印数组,更改在函数运行之前和之后都存在。

为什么会发生这种情况?吊装?

作为测试,我在对象中创建了另一个键:值对,使得该值是一个整数,并将我的函数更改为将该整数增加 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] (即 …

javascript

1
推荐指数
1
解决办法
201
查看次数

console.log(array)返回填充的数组,但是console.log(array.length)为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)

javascript arrays

0
推荐指数
1
解决办法
6594
查看次数

记录对象显示所有属性,但单独记录属性显示“未定义”

我正在尝试将我构建的 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)

javascript for-loop object javascript-objects

0
推荐指数
1
解决办法
205
查看次数