首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用带有while循环的Object.keys在输入字符串中查找对象键

,可以按照以下步骤进行:

  1. 首先,将输入字符串转换为一个对象,以便可以使用Object.keys方法来获取对象的键。可以使用JSON.parse方法将输入字符串解析为一个对象。
  2. 创建一个空数组来存储找到的对象键。
  3. 使用while循环来遍历对象的键。可以通过Object.keys方法获取对象的所有键,并将其存储在一个数组中。
  4. 在循环中,使用一个变量来追踪当前遍历到的键的索引。初始值为0。
  5. 在循环中,使用一个变量来追踪当前遍历到的键的长度。可以使用数组的length属性获取键的总数。
  6. 在循环中,使用一个条件语句来检查当前遍历到的键是否包含在输入字符串中。可以使用字符串的indexOf方法来检查键是否存在于输入字符串中。
  7. 如果键存在于输入字符串中,将其添加到存储键的数组中。
  8. 在循环的末尾,将当前遍历到的键的索引加1,以便继续遍历下一个键。
  9. 循环结束后,返回存储键的数组作为结果。

下面是一个示例代码:

代码语言:javascript
复制
function findObjectKeysInString(inputString, object) {
  var keys = Object.keys(object);
  var foundKeys = [];
  var index = 0;
  var length = keys.length;

  while (index < length) {
    var key = keys[index];
    if (inputString.indexOf(key) !== -1) {
      foundKeys.push(key);
    }
    index++;
  }

  return foundKeys;
}

// 示例用法
var inputString = "This is a test string";
var object = {
  key1: "value1",
  key2: "value2",
  key3: "value3"
};

var result = findObjectKeysInString(inputString, object);
console.log(result);

这个代码将在输入字符串中查找对象的键,并返回一个包含找到的键的数组。你可以根据实际情况进行修改和调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 用map代替纯JavaScript对象

    JavaScript 普通对象 {key: 'value'} 可用于保存结构化数据。 但是我发现很烦人一件事:对象必须是字符串(或很少使用符号)。 如果用数字作会怎样?...这些类型 number 保持不变。 你可以 map 中使用任何类型:数字,布尔以及经典字符串和符号。...同样,布尔普通对象不起作用。 让我们超越界限:你能把整个对象用作 map 吗?当然可以! 1.1 把对象做为 假设你需要存储一些与对象相关数据,但是不把这些数据附加到对象本身。...不要通过接受用户输入普通对象上创建! map 则没有这个问题。...3. map 是可迭代 为了遍历普通对象属性,你必须用其他辅助静态函数,例如 Object.keys() 或 Object.entries() ( ES2017 可用): const colorsHex

    1.1K10

    Object对象

    ,其排列与使用 for in循环遍历该对象时返回顺序一致,区别在于for in循环还会枚举原型链属性。...Object.keys()方法会返回一个由一个指定对象自身可枚举属性组成数组,数组属性名排列顺序和使用for in循环遍历该对象时返回顺序一致,区别在于for in循环还会枚举原型链属性...示例 Object.keys(obj) obj: 要返回其枚举自身属性对象。 返回一个表示给定对象所有可枚举属性字符串数组。...如果你关心性能,你应该避免设置一个对象[[Prototype]],而应该使用Object.create()来创建带有你想要[[Prototype]]对象。...Object.values Object.values()方法返回一个给定对象自身所有可枚举属性值数组,值顺序与使用for in循环顺序相同,区别在于for in循环还会枚举原型链属性。

    2.3K10

    JS轻松遍历对象属性几种方式

    自身可枚举属性 Object.keys() 方法会返回一个由一个给定对象自身可枚举属性组成数组,数组属性名排列顺序和使用 for...in 循环遍历该对象时返回顺序一致 。...Object.values() 返回属性值 Object.values()方法返回一个给定对象自身所有可枚举属性值数组,值顺序与使用for...in循环顺序相同 ( 区别在于 for-in 循环枚举原型链属性...使用Object.keys(meals)和枚举for..of循环获取对象键值。...,必须手动获取),并使用任意对象类型作为(普通对象使用字符串基元类型作为)。...若要将结果放入数组,扩展运算符…是必要对象属性顺序 JS 对象是简单键值映射,因此,对象属性顺序是微不足道大多数情况下,不应该依赖它。

    13.6K20

    php 笔记 原

    ; 代码将输出:12 strpos() 函数用于字符串查找一个字符或一段指定文本。 echo strpos("Hello world!"...使用PHP stripslashes()函数去除用户输入数据反斜杠 (\) $data = htmlspecialchars($data); htmlspecialchars() 函数把一些预定义字符转换为...7、数组分类与用法 数值数组 - 带有数字 ID 数组 关联数组 - 带有指定数组,每个关联一个值 多维数组 - 包含一个或多个数组数组  遍历数值数组 <?..., $allowedExts)//判断文件格式是否包含在数组,返回true 或者false 8、PHP 循环 while - 只要指定条件成立,则循环执行代码块 do...while -...首先执行一次代码块,然后指定条件成立时重复这个循环 for - 循环执行代码块指定次数 foreach - 根据数组每个元素来循环代码块 <?

    1.2K20

    大话 JavaScript(Speaking JavaScript):第十六章到第二十章

    第 1 层:单个对象 大致上,JavaScript 所有对象都是从字符串到值映射(字典)。对象,值)条目称为属性。属性始终是文本字符串。...超级调用方法foo涉及三个步骤: 从当前方法对象原型“之后”(原型)开始搜索。 查找一个名为foo方法。 使用当前this调用该方法。...请注意,所有对象都支持这种索引:方括号索引被转换为字符串并用作查找属性值: ```js > var obj = { '0': 'abc' }; > obj[0]...匹配内容,并用replacement替换它们: str.replace(search, replacement) 有几种方式可以指定这两个参数: search 可以是字符串或正则表达式: 字符串输入字符串中直接查找...请注意,只有第一次出现字符串会被替换。如果要替换多个出现,必须使用带有/g标志正则表达式。这是一个意外和一个主要陷阱。 正则表达式:与输入字符串匹配。

    39620

    【python篇】——python基础语法一篇就能明白,快速理解

    循环语句 while循环 while 循环条件为真(True)时,反复执行代码块。当条件变为假(False)时,循环结束。...循环用于遍历一个可迭代对象(如列表、字符串、元组、字典、集合等),对其中每个元素执行相同操作。...这两个使用用法python当中与C当中使用情况是一样 序列类型操作 字符串增删查改 字符串是不可变序列类型,因此修改字符串时只能创建一个新字符串。...del 删除字典 del my_dict["name"] 查(查找键值对) 通过查找值,如果不存在会抛出 KeyError 异常,可以使用 get() 方法避免异常。...(my_set) # 输出:set() 查(查找键值对) 查(查找元素) 使用 in 运算符判断元素是否集合

    10810

    ES6 Symbol 是什么?

    (Undefined),时至今日,某些网络教程上还是这样分类: [不完整分类] 其实,随着 ECMAScript 发展和完善, ES6(2015) 和 ES11(2020) ,又分别增加了 Symbol...语法 直接使用 Symbol() 创建新 symbol 类型,并用一个可选字符串作为其描述。...要知道,之前,对象属性名是字符串专属权利,就连数字也会被同化为字符串,可现在居然被 Symbol 虎口夺食,字符串大概也只能黯然伤神了吧。 用涂 根据 Symbol 特性,它有以下通途。...拥有 Symbol.iterator 函数对象被称为 可迭代对象 ,就是说你可以在对象使用 for/of 循环。...由于 sysmbol 无法 JSON 里表示,因此不用担心给 Express API 传入带有不合适 Symbol.iterator 属性数据。

    82710

    如何遍历JavaScript对象属性

    首先使用Object.keys()来收集属性,然后使用一个属性访问器,并将值存储一个额外变量。...meals是一个普通JavaScript对象使用Object.keys(meals)和for...of循环枚举出对象键值。...可能直接使用有些不爽。幸运是,数组for...of循环中传入let [x, y] = array,很容易得到对应访问和值。...你可以获得Map大小(对于一个简单对象,你必须手动操作),并使它作为对象类型(简单对象当作一个字符串原始类型)。...for...of循环语句中可以直接使用迭代器。 关于顺序上笔记 JavaScript对象是简单键值映射。所以对象属性顺序是无关紧要大多数情况下,你不应该依赖它。

    3.6K30

    一周新姿势 第2期

    总之,for-in是用来循环带有字符串key对象方法。...(value); } // 10 // 20 // 30 我们可以使用const来替代let,这样它就变成了循环不可修改静态变量。...enumerable属性对象 for–of循环并不能直接使用在普通对象上,但如果我们按对象所拥有的属性进行循环,可使用内置Object.keys()方法: for (var key of Object.keys...,name属性要么是从实例获取,要么是来源于原型,所以使用in 来访问 name属性始终返回true;而hasOwnProperty()只属性存在与对象实例时才返回true,当删除了实例name...生产环境,我们可以使用 Object.getPrototypeOf 方法来获取实例对象原型,然后再来为原型添加方法/属性。

    50830

    一次性搞明白 5 种 for 循环用法

    来源 | https://www.toutiao.com/article/7084114231976657408/ for 循环平时开发中使用频率最高,前后端数据交互时,常见数据类型就是数组和对象...,处理对象和数组时经常使用到 for 遍历,因此下班前花费几分钟彻底搞懂这 5 种 for 循环。...遍历对象时,由于对象没有长度,所以使用 Object.keys() 获取对象所有属性,以数组形式返回。...for...in 性能最差,因为需要列举对象所有属性,有转化过程,开销比较大。 三、for 使用 项目开发,我们应该根据实际需求,去选择一个合适 for 遍历。...遍历是纯对象时,推荐使用 for ... in 。 如果是需要对迭代器遍历,推荐使用 for ... of。 如果是在数组筛选符合条件数组,使用 fillter 。

    1.8K40

    ES5新增方法

    1.ES5新增方法 1.1 ES5 新增方法概述 ES5 给我们新增了一些方法,可以很方便操作数组或者字符串,这些方法主要包括:  数组方法  字符串方法  对象方法 迭代(遍历)方法...:数组对象本身 1.4数组方法some // some查找数组是否有满足条件元素 var arr = [1,45,67,33,12];...// 2. some也是查找满足条件元素是否存在―返回是一个布尔值如果查找到第一个满足条件元素就终止循环 some() 方法用于检测数组元素是否满足指定条件...通俗点 查找数组是否有满足条件元素  注意它返回值是布尔值, 如果查找到这个元素, 就返回true , 如果查找不到就返回false.  如果找到第一个满足条件元素,则终止循环....Object.keys(对象) 获取到当前对象属性名 ,返回值是一个数组 var obj = { id: 1, pname: '小米', price: 1999,

    45830

    深入了解 Proxy 代理

    代理对象封装另一个对象并拦截操作,如读取/写入属性和其他操作,可以选择自己处理它们,或透明地允许对象处理它们。 很多库和一些浏览器框架都使用代理。本文中,我们将看到许多实际应用程序。...这些方法仅在规范中使用,我们不能直接通过名称调用它们。 代理陷阱拦截这些方法调用。它们代理规范和下表列出。...Object.keys/values()返回带有可枚举标志非符号/值(属性标志在“属性标志和描述符”一文解释过)。 for..in 循环遍历带有enumerable标志非符号和原型。...(user) ); // name,age alert( Object.values(user) ); // John,30 不过,如果返回对象不存在,则返回Object.keys不会列出它:...要返回一个属性,我们需要它存在于对象,并带有enumerable标志,或者可以拦截对[[GetOwnProperty]]调用(陷阱getOwnPropertyDescriptor做了这个工作),并返回一个带有

    95530

    JS高级-数据结构封装

    带着这个美好愿望,开始学习吧O(∩_∩)O~~ 我们知道JS,常常用来组织数据无非是数组和对象(这些基础就不介绍了)。...生活中经常使用到列表,通讯录、购物车、十佳榜单等。当不需要在一个很长序列查找元素或排序可以使用列表。 列表封装代码: function List() {//列表构造函数 this...._dataStore;}//返回列表字符串形式 } 列表与数组比较类似,只是简单对数组做了二次封装,用案例来展示一下列表使用场景,进一步加深理解。...,每个节点都使用一个对象引用指向下一个节点,这个引用叫做链。...simpleHash:function(data){//简单散列函数(返回字符串ASCII累加除数组长度余数) var total = 0; for (var i

    7.9K70

    【JavaScript】对象 ⑤ ( 遍历对象 | for…in 循环 遍历对象 | Object.keys() 遍历对象 属性名称 | Object.entries() 遍历对象属性键值对 )

    可以使用如下几种方法 : 使用 for…in 循环 遍历对象 使用 Object.keys() 遍历对象 属性名称 使用 Object.values() 遍历对象 属性值 使用 Object.entries...() 遍历对象 属性名称 + 属性值 键值对组合 ; 二、遍历对象 1、使用 for…in 循环 遍历对象 for…in 循环 既可以用于遍历数组 , 又可以用于遍历对象可枚举属性 ; 代码示例...Object.keys() 遍历对象 属性名称 调用 Object.keys() 方法 可以返回一个表示 给定对象所有 可枚举属性 字符串数组 , 然后 使用 forEach 数组遍历方法...属性名 字符串数组 , 传入参数是 要遍历对象 ; 得到 属性名 字符串数组后 , 可以使用 遍历数组方法 , 如 forEach 方法 , 遍历该数组 , 打印出每个对象值 ; 完整代码示例...Object.values() 遍历对象 属性值 JavaScript , 调用 Object.values() 方法返回一个数组 , 数组元素是在给定对象上找到可枚举属性值 , 然后使用数组遍历方法来遍历这些值

    68710

    ES6遍历对象属性5种方法

    先声明一个变量: const site = {   name: '前端资源网',   url: 'www.w3h5.com' } for...in for...in 循环遍历对象自身和继承可枚举属性...(obj) Object.keys 返回一个数组,包括对象自身(不含继承)所有可枚举属性(不含 Symbol 属性)键名。...Object.keys(site) // ['name', 'url'] 如果要遍历处理对象属性值: let siteValues = []; Object.keys(site).forEach(item...以上 5 种方法遍历对象键名,都遵守同样属性遍历次序规则。 首先遍历所有数值,按照数值升序排列。 其次遍历所有字符串,按照加入时间升序排列。...这个数组属性次序是这样,首先是数值属性 2 和 10,其次是字符串属性 b 和 a,最后是 Symbol 属性。 未经允许不得转载:w3h5 » ES6遍历对象属性5种方法

    1.3K20

    美团前端一面必会手写面试题汇总

    递归渲染并返回渲染后结构 } return template; // 如果模板没有模板字符串直接返回}实现数组去重给定某无序数组,要求去除数组重复数字并且返回新无重复数组。...repeat方法输入字符串s,以及其重复次数,输出重复结果,例如输入abc,2,输出abcabc。...:判断调用对象是否为函数,即使我们是定义函数原型上,但是可能出现使用 call 等方式调用情况。...判断传入上下文对象是否存在,如果不存在,则设置为 window 。处理传入参数,截取第一个参数后所有参数。将函数作为上下文对象一个属性。使用上下文对象来调用这个方法,并保存返回结果。...(美团)题目描述编写一个函数来查找字符串数组最长公共前缀。

    43840
    领券