Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅向对象添加双引号_Javascript_Arrays - Fatal编程技术网

Javascript 仅向对象添加双引号

Javascript 仅向对象添加双引号,javascript,arrays,Javascript,Arrays,我有一个for循环中的值,我使用它们创建了一个对象 我的最后一个对象带有单引号和双引号。我只想在钥匙周围加上双引号 我试着用 a.value = `${arrayString[i]}`; a.value = arrayString[i] + ''; a.value = arrayString[i]; a.value = arrayString[i].toString(); a.value = String(arrayString[i]); a、 价值是我的关键。 当我

我有一个for循环中的值,我使用它们创建了一个对象

我的最后一个对象带有单引号和双引号。我只想在钥匙周围加上双引号

我试着用

  a.value = `${arrayString[i]}`;
  a.value = arrayString[i] + '';
  a.value = arrayString[i]; 
  a.value = arrayString[i].toString(); 
  a.value = String(arrayString[i]); 
a、 价值是我的关键。 当我使用时:
a.value=JSON.stringify(arrayString[i])

然后我
console.log(a.value)/“a”
我得到了我想要的钥匙,但当我试图将其添加到我的最终对象时,我得到了一个额外的单引号:

{'a':2','b':2','c':1','aa':3}//我在控制台上得到了什么。log

{a:2,“b:2,”c:1,“aa:3}//我期望在控制台上得到的东西。log

这就是我如何推到我的最终对象
a.count=myCount;
finalResultObject[a.value]=a.count

myCount
只是我在循环中得到的一个生成的数字

编辑**

这是一个计算特定字符串中字数的函数

exports.countWordsInString = (someString) => {
  let arrayString = [];
  arrayString = someString.split(' ');
  arrayString = arrayString.filter(value => Object.keys(value).length !== 0);
  var finalResultObject = {};

  // make a copy of the input array
  var copy = arrayString.slice(0);

  // first loop goes over every element
  for (var i = 0; i < arrayString.length; i++) {

    var myCount = 0;
    // loop over every element in the copy and see if it's the same
    for (var w = 0; w < copy.length; w++) {
      if (arrayString[i] === copy[w]) {
        // increase amount of times duplicate is found
        myCount++;
        // sets item to undefined
        delete copy[w];
      }
    }

    if (myCount > 0) {
      var a = {};
      // a.value =   '" \\' + arrayString[i] + '"'
      // a.value = `${arrayString[i]}`;
      // a.value = arrayString[i] + '';
      // a.value = arrayString[i];
      // a.value = arrayString[i].toString();
      a.value = JSON.stringify(arrayString[i]);

      console.log(a.value)
      a.count = myCount;
      finalResultObject[a.value] = a.count;

    }
  }
  // finalResultObject.replace(/\'/gi,'')
  console.log(finalResultObject);

  return finalResultObject;
};
当我使用
a.value=JSON.stringify(arrayString[i])时,这会显示在我的控制台中


当我使用
a.value=arrayString[i]时,这会显示在我的控制台中

当你说“这就是我得到的”,你的意思是这就是你在console.log中看到的?也许你应该完整地显示实际的代码。如果
arrayString[I]
已经是字符串,那么就没有必要使用
JSON.stringify()
,因为它只会用引号将字符串括起来
a.value=arrayString[I]应该已经工作了。你为什么不这么认为?你的期望是错误的。你在拿苹果和桔子作比较。
test('output number of words in string', () => {
  const text = countWordsInString('a b a c aa aa aa    b');
  expect(text).toBe({"a": 2, "b": 2, "c": 1, "aa": 3})
});