首页 > 试题广场 >

以下哪些方法会返回一个数组?

[不定项选择题]
以下哪些方法会返回一个数组?
  • Object.keys()
  • String.prototype.split()
  • Array.prototype.join()
  • Promise.all()

选择AB。

  1. A.Object.keys()
    该方***返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致 。如果对象的键-值都不可枚举,那么将返回由键组成的数组。

  2. B.String.prototype.split()
    split() 方法使用指定的分隔符字符串将一个String对象分割成字符串数组,以将字符串分隔为子字符串,以确定每个拆分的位置。

AB选项都是返回数组。

  1. C.Array.prototype.join()
    join() 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。
    C选项返回字符串。

  2. D.Promise.all()
    Promise.all(iterable) 方法返回一个 Promise 实例,此实例在 iterable 参数内所有的 promise 都“完成(resolved)”或参数中不包含 promise 时回调完成(resolve);
    如果参数中 promise 有一个失败(rejected),此实例回调失败(reject),失败原因的是第一个失败 promise 的结果。
    D选项返回的是promise对象。

发表于 2019-08-19 11:21:23 回复(0)
D选项,返回的是一个Promise对象,它的状态数据才是一个数组
发表于 2020-06-12 08:43:36 回复(0)
Object.keys({name:'111',age:"18"}) // ["name""age"]

String.prototype.split.call('漩-涡-鸣-人','-') //["漩", "涡", "鸣", "人"]

Array.prototype.join.call('漩涡鸣人','-')//"漩-涡-鸣-人"

let wake = (time) => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve(`${time / 1000}秒后醒来`)
    }, time)
  })
}

let p1 = wake(3000)
let p2 = wake(2000)

Promise.all([p1, p2]).then((result) => {
  console.log(result)       // [ '3秒后醒来', '2秒后醒来' ]
}).catch((error) => {
  console.log(error)
})
发表于 2021-05-13 11:59:16 回复(0)
Promiese.all返回的是一个promise对象.
// __PROMISES__是一个promise数组
Promise.all(__PROMISE__).then(function(values){
    // values 包含__PROMISE__里面各个阶段的数据
    console.log(values);
})
Array.prototype.join()返回的是一个字符串
console.log(typeof [1].join());


发表于 2019-08-15 16:06:01 回复(0)
promise.all返回的是promise对象,数据格式是数组
发表于 2021-09-02 17:05:47 回复(1)
C、返回字符串
D、返回Promise对象
发表于 2021-06-15 22:43:45 回复(0)
Array.prototype.join()返回一个字符串
发表于 2020-02-27 12:00:24 回复(1)
关于A选项: https://blog.csdn.net/yufengaotian/article/details/84976110
发表于 2020-04-06 21:45:13 回复(0)
join是把数组或者类数组变成字符串
发表于 2021-06-19 15:08:45 回复(0)
Object.defineProperty() Object.defineProperty() 方***直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。 let ykx = new Person(); Object.defineProperty(ykx, "sex", { value: "male", //是否为枚举属性 enumerable: false }); 可枚举属性是指那些内部 “可枚举” 标志设置为 true 的属性。对于通过直接的赋值和属性初始化的属性,该标识值默认为即为 true。但是对于通过 Object.defineProperty 等定义的属性,该标识值默认为 false。 Object.getOwnPropertyNames() 遍历自身对象的所有属性,包括可枚举不可枚举,但是原型上的属性是无法遍历的。 for...in 遍历对象的每一个可枚举属性,包括原型链上面的可枚举属性(js基本包装类型的原型属性是不能被遍历因为是不可枚举的)。 Object.keys方法只能遍历自己的对象上的可枚举的属性,不能遍历自己原型上可枚举的属性。
发表于 2021-03-18 23:30:23 回复(0)
A:Object.keys() 方***返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致 。
B:split() 方法使用指定的分隔符字符串将一个String对象分割成字符串数组,以将字符串分隔为子字符串,以确定每个拆分的位置。
C:join() 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。
D:Promise.all()方法接受一个数组为参数,它的参数不一定是参数,但必须具有iterator接口,且返回的每个成员都是Promise实例
发表于 2021-03-15 21:09:17 回复(0)
String.prototype.split()  不对吗
发表于 2021-02-20 18:05:27 回复(0)
<p>Object.keys只可以遍历自身的可枚举属性,不包括原型链上的属性。</p><p>for...in...不仅遍历自身的可枚举属性,还会还会遍历原型链上的可枚举属性。</p><p>hasOwnProperty会查找对象是否含有这个属性,不包括原型链上的属性。</p><p>getOwnPropertyName则会遍历自身的所有属性,无论这个属性是否可以被枚举,不包括原型链上的属性。</p><p><br></p>
发表于 2020-11-03 11:55:56 回复(0)