Arrays related coding questions - SheCodes Athena - AI | SheCodes

Arrays related coding questions

👩‍💻 Technical question

how to use .includes

🤖 SheCodes Athena says:

Answered in 3.92 seconds

The .includes() method is a JavaScript method that is used to check if a specific string or element is present in another string or array.

Here is an example of how to use the .includes() method in JavaScript:

javascript
Copy code
let myString = "Hello, world!"; let searchString = "world"; if (myString.includes(searchString)) { console.log("The string includes the word 'world'"); } else { console.log("The string does not include the word 'world'"); }

In this example, the .includes() method is used to check if the myString variable includes the word "world". If it does, it will print "The string includes the word 'world'". Otherwise, it will print "The string does not include the word 'world'".

You can also use the .includes() method on arrays to check if a specific element is present in the array. Here's an example:

javascript
Copy code
let myArray = [1, 2, 3, 4, 5]; let searchElement = 3; if (myArray.includes(searchElement)) { console.log("The array includes the number 3"); } else { console.log("The array does not include the number 3"); }

In this example, the .includes() method is used to check if the myArray includes the number 3. If it does, it will print "The array includes the number 3". Otherwise, it will print "The array does not include the number 3".

I hope this helps! Let me know if you have any further questions.

👩‍💻 Technical question

explain arrays and loops in the simpliest way possible

🤖 SheCodes Athena says:

Answered in 3.29 seconds

An array is a way to store multiple values in a single variable. It's like having a bunch of boxes, and each box has a different value inside. You can access the values in an array by using an index number.

For example, if you have an array called fruits and it contains ["apple", "banana", "orange"], you can access the values like this:

  • fruits[0] will give you "apple"
  • fruits[1] will give you "banana"
  • fruits[2] will give you "orange"

A loop is a way to repeat a certain block of code multiple times. It's like having a machine that does a task over and over again until a certain condition is met. There are different types of loops, but the most common one is called a for loop.

For example, if you want to print the numbers from 1 to 5, you can use a for loop like this:

javascript
Copy code
for (let i = 1; i <= 5; i++) { console.log(i); }

This will print:

code
Copy code
1 2 3 4 5

In the for loop, i is a variable that starts at 1, and the loop will continue as long as i is less than or equal to 5. After each iteration, i is incremented by 1.

👩‍💻 still doesnt make sense, explain it simplier

🤖 SheCodes Athena says:

Answered in 1.89 seconds

Sure! Let's try to explain it even simpler:

An array is like a list of things. Imagine you have a box, and you can put multiple items inside the box. Each item has its own number, starting from 0. You can take out items from the box by remembering their number.

A loop is like doing something repeatedly. It's like if you had to write the same sentence 10 times, but instead of actually writing it 10 times, you can use a loop to write it once and tell the computer to repeat it for you.

I hope this makes it clearer! Let me know if you have any other questions.

👩‍💻 Technical question

Explain what JSON is

🤖 SheCodes Athena says:

Answered in 3.17 seconds

JSON stands for JavaScript Object Notation. It is a lightweight data interchange format that is easy for humans to read and write and easy for machines to parse and generate. JSON is used to represent structured data, such as objects and arrays, in a simple and portable manner. It is widely used in web applications to transfer data between the server and the client. JSON is usually represented as a string and follows a specific syntax that includes key-value pairs enclosed in curly brackets {}. Each key is followed by a colon and its corresponding value, which can be a string, number, boolean, object, or an array. Here is an example of JSON:

json
Copy code
{ "name": "John Doe", "age": 30, "email": "johndoe@email.com", "isStudent": true, "favoriteFruits": ["apple", "banana", "orange"] }

In this example, we have an object with properties like name, age, email, isStudent, and favoriteFruits. The values can be accessed using their respective keys, for example, data.name would return "John Doe".

👩‍💻 Technical question

show me how slice function works in js

🤖 SheCodes Athena says:

Answered in 3.88 seconds

Sure! The slice function in JavaScript is used to extract a portion of an array and returns it as a new array without modifying the original array. It takes two arguments: starting and ending index (optional).

Here's an example:

javascript
Copy code
const fruits = ['banana', 'apple', 'orange', 'mango', 'kiwi']; // Extracts elements from the index 1 (inclusive) to 3 (exclusive) const slicedFruits = fruits.slice(1, 3); console.log(slicedFruits); // Output: ['apple', 'orange']

In this example, we're declaring an array of fruits and using the slice function to extract elements from the 1st index (inclusive) to 3rd index (exclusive) and assigning them to the slicedFruits variable. So the output of slicedFruits is ['apple', 'orange'].

If we don't pass the ending index, it will extract all elements starting from the starting index until the end of the array. For example:

javascript
Copy code
const fruits = ['banana', 'apple', 'orange', 'mango', 'kiwi']; // Extracts elements from the index 1 (inclusive) until the end const slicedFruits = fruits.slice(1); console.log(slicedFruits); // Output: ['apple', 'orange', 'mango', 'kiwi']

In this example, we only passed the starting index, which is 1, so the slice function extracted all elements from the index 1 until the end.

I hope this helps! Let me know if you have any other questions.

👩‍💻 what if i gave it a nigitave value

🤖 SheCodes Athena says:

Answered in 3.03 seconds

If you provide a negative value as an argument, slice will count that index position from the end of the array rather than from the beginning. For example:

javascript
Copy code
const fruits = ['banana', 'apple', 'orange', 'mango', 'kiwi']; // Extracts elements from the index -3 (counting from the end) until the end of the array const slicedFruits = fruits.slice(-3); console.log(slicedFruits); // Output: ['orange', 'mango', 'kiwi']

In this example, we passed -3 as the starting index, so slice extracted all elements from the 3rd last position (orange) until the end of the array.

Similarly, you can also pass a negative value as the ending index to extract elements counting from the end of the array. For example:

javascript
Copy code
const fruits = ['banana', 'apple', 'orange', 'mango', 'kiwi']; // Extracts elements from the beginning until the index -2 (counting from the end) const slicedFruits = fruits.slice(0, -2); console.log(slicedFruits); // Output: ['banana', 'apple', 'orange']

In this example, we passed -2 as the ending index, so slice extracted all elements from the beginning of the array until the 2nd last position (orange).

👩‍💻 Technical question

What is the square brackets syntax

🤖 SheCodes Athena says:

Answered in 1.95 seconds

Square brackets are used in programming languages like JavaScript to access or specify the index of an item stored in an array or an object. For example, in JavaScript, you can access the first element of an array named myArray using myArray[0]. Here [0] is the square bracket syntax used to access the element at index 0 of the array. Here's an example:

javascript
Copy code
const myArray = [1, 2, 3, 4, 5]; console.log(myArray[0]); // outputs 1

👩‍💻 Technical question

can you explain arrays and loops js?

🤖 SheCodes Athena says:

Answered in 7.98 seconds

Yes, I can definitely help you with that!

In JavaScript, an array is a data structure that stores a list of values of any data type. Arrays are denoted by square brackets [].

Here's an example of an array that contains a list of numbers:

javascript
Copy code
let numbers = [1, 2, 3, 4, 5];

Loops are used to repeat a block of code multiple times. There are different types of loops in JavaScript, but the most common ones are for loops and while loops.

A for loop is generally used to loop through an array or to repeat a block of code a fixed number of times. Here's an example of a for loop that loops through an array and logs each value to the console:

javascript
Copy code
let numbers = [1, 2, 3, 4, 5]; for (let i = 0; i < numbers.length; i++) { console.log(numbers[i]); }

A while loop, on the other hand, is used to loop through a block of code while a certain condition is true. Here's an example of a while loop that loops through an array and logs each value to the console:

javascript
Copy code
let numbers = [1, 2, 3, 4, 5]; let i = 0; while (i < numbers.length) { console.log(numbers[i]); i++; }

I hope this helps! Let me know if you have any further questions.

👩‍💻 Technical question

js remove first element of array

🤖 SheCodes Athena says:

Answered in 3.28 seconds

To remove the first element of an array in JavaScript, you can use the shift() method.

javascript
Copy code
let myArray = [1, 2, 3, 4, 5]; myArray.shift(); // removes the first element, which is 1 console.log(myArray); // output: [2, 3, 4, 5]

The shift() method removes the first element from the array and returns it. If you don't need the removed element, you can simply call shift() without storing the returned value.

👩‍💻 Technical question

The different data types

🤖 SheCodes Athena says:

Answered in 9.08 seconds

In programming, data types are used to classify different types of data to tell the computer how to work with that data. Some common data types include:

  • Numbers - Used for numeric values. These can be whole numbers (integers) or numbers with decimals (floats or doubles).

Example in Python:

python
Copy code
x = 5 # integer y = 2.7 # float z = 4.0 # float
  • Strings - Used for text data. A string is a sequence of characters enclosed in quotation marks.

Example in JavaScript:

javascript
Copy code
let greeting = "Hello, world!"; let name = "Sarah";
  • Booleans - Used for logic. A boolean can have one of two values: true or false.

Example in Java:

java
Copy code
boolean isStudent = true; boolean isTeacher = false;
  • Arrays - Used to store collections of data. An array can hold multiple items of the same data type or different data types.

Example in Ruby:

ruby
Copy code
numbers = [1, 2, 3, 4, 5] colors = ["red", "green", "blue"]
  • Objects - Used to store more complex data structures. An object can contain properties (key-value pairs) with different data types.

Example in JavaScript:

javascript
Copy code
let person = {name: "John", age: 30, city: "New York"};

👩‍💻 Technical question

What is .length

🤖 SheCodes Athena says:

Answered in 2.89 seconds

.length is a property that can be used on arrays, strings, and other data types in JavaScript. It returns the number of elements in an array, or the number of characters in a string. Here is an example:

javascript
Copy code
const myArray = [1, 2, 3, 4, 5]; console.log(myArray.length); // Output: 5 const myString = "Hello, world!"; console.log(myString.length); // Output: 13

👩‍💻 Technical question

Explain data types

🤖 SheCodes Athena says:

Answered in 6.87 seconds

In programming, data types refer to the type of data that can be used and manipulated. Each programming language has its own set of data types, but some common ones include:

  • Strings: used to represent text
  • Integers: used to represent whole numbers
  • Floats: used to represent decimal numbers
  • Booleans: used to represent true/false values
  • Arrays: used to represent a collection of data of the same type
  • Objects: used to represent a collection of data with key/value pairs

When working with data in a program, it's important to use the correct data type to ensure the program functions correctly. For example, if you try to perform mathematical operations on a string, it will likely result in an error. Similarly, if you try to access a key/value pair on an object that doesn't exist, it will also result in an error.

Here is an example in JavaScript of declaring and assigning data types:

code
Copy code
// String let name = "Alice"; // Integer let age = 25; // Float let price = 9.99; // Boolean let hasGraduated = true; // Array let numbers = [1, 2, 3, 4]; // Object let person = { name: "Bob", age: 30, occupation: "Software Engineer" };

👩‍💻 How would this be documented in JSDocs

🤖 SheCodes Athena says:

Answered in 8.36 seconds

Here's an example using JSDoc comments to document the data types in JavaScript:

code
Copy code
/** * Represents a person with a name, age, and occupation. * @typedef {Object} Person * @property {string} name - The name of the person. * @property {number} age - The age of the person. * @property {string} occupation - The occupation of the person. */ /** * A function that greets a person. * @param {string} name - The name of the person being greeted. * @param {Person} personObj - A person object representing the person being greeted. * @return {string} A greeting including the person's name, age, and occupation. */ function greetPerson(name, personObj) { return `Hello, ${name}! You are ${personObj.age} years old and work as a ${personObj.occupation}.`; } /** * An array of numbers. * @type {number[]} */ const numbers = [1, 2, 3, 4]; /** * A boolean indicating whether a person has graduated. * @type {boolean} */ const hasGraduated = true;

In this example, we define a Person object using @typedef. We also use @property to document the properties of the Person object.

We then define a function greetPerson that takes a string and a Person object as parameters. We use @param to document the parameters and @return to document the return value.

Finally, we define an array of numbers using @type and a boolean using @type.

👩‍💻 Explain @typedef

🤖 SheCodes Athena says:

Answered in 9.3 seconds

@typedef is a JSDoc tag that is used to document custom types or aliases that are used in your code. It allows you to define a type for a complex object or function signature that may be used in multiple places throughout your code.

For example, in a complex codebase you may have a custom type, such as a configuration or settings object, which is used to define various settings or configurations in multiple functions. Instead of repeating the same type definition in multiple places, you can use @typedef to declare the custom type in one place.

Here's an example of how to use @typedef to document a custom type in JSDoc:

javascript
Copy code
/** * @typedef {object} Settings * @property {string} username - The username of the user. * @property {string} password - The password of the user. * @property {boolean} rememberMe - Whether to remember the user. */

In this example, @typedef is used to define a Settings object which contains three properties: username, password, and rememberMe. This custom type can be used anywhere in the code, for example:

javascript
Copy code
/** * Authenticates a user using the provided settings. * @param {Settings} settings - The settings to use for authentication. * @returns {Promise<string>} A promise that resolves with the user token. */ function authenticate(settings) { // Code to authenticate user }

In this example, @param is used to define a parameter settings of type Settings. By using @typedef, we can document the Settings object once, and then use it multiple times throughout the codebase.

👩‍💻 Technical question

Teach me arrays in JS with examples

🤖 SheCodes Athena says:

Answered in 18.07 seconds

Sure, I'll be happy to teach you about arrays in JavaScript!

Arrays are a commonly-used data structure in programming languages, including JavaScript. An array is a collection of elements that are stored in a variable. The elements of an array can be of any data type, including numbers, strings, and objects.

Declaring an Array

In JavaScript, you can declare an array using square brackets [] and separate the individual elements with commas. Here's an example of an array containing three elements:

js
Copy code
let fruits = ["apple", "banana", "orange"];

You can also declare an empty array like this:

js
Copy code
let emptyArray = [];

Accessing Elements in an Array

You can access elements in an array using their index number. In JavaScript, array indices start at zero. That means the first element of an array has an index of 0, the second element has an index of 1, and so on.

Here's an example of accessing the first element of an array:

js
Copy code
let fruits = ["apple", "banana", "orange"]; let firstFruit = fruits[0]; // "apple"

Modifying Elements in an Array

You can modify the elements of an array by assigning a new value to a specific index. Here's an example of replacing the second element in an array:

js
Copy code
let fruits = ["apple", "banana", "orange"]; fruits[1] = "strawberry"; console.log(fruits); // ["apple", "strawberry", "orange"]

Array Methods

JavaScript provides several methods for working with arrays. Here are some of the most common methods:

  • push(): adds one or more elements to the end of an array.

    js
    Copy code
    let fruits = ["apple", "banana", "orange"]; fruits.push("pear"); console.log(fruits); // ["apple", "banana", "orange", "pear"]
  • pop(): removes the last element from an array.

    js
    Copy code
    let fruits = ["apple", "banana", "orange"]; let lastFruit = fruits.pop(); console.log(lastFruit); // "orange" console.log(fruits); // ["apple", "banana"]
  • shift(): removes the first element from an array.

    js
    Copy code
    let fruits = ["apple", "banana", "orange"]; let firstFruit = fruits.shift(); console.log(firstFruit); // "apple" console.log(fruits); // ["banana", "orange"]
  • unshift(): adds one or more elements to the beginning of an array.

    js
    Copy code
    let fruits = ["apple", "banana", "orange"]; fruits.unshift("pear"); console.log(fruits); // ["pear", "apple", "banana", "orange"]
  • slice(): returns a portion of an array.

    js
    Copy code
    let fruits = ["apple", "banana", "orange", "pear", "grape"]; let citrusFruits = fruits.slice(1, 3); console.log(citrusFruits); // ["banana", "orange"]
  • splice(): removes or replaces elements of an array.

    js
    Copy code
    let fruits = ["apple", "banana", "orange", "pear", "grape"]; let removedFruits = fruits.splice(2, 2, "lemon"); console.log(removedFruits); // ["orange", "pear"] console.log(fruits); // ["apple", "banana", "lemon", "grape"]

These are just a few of the many methods available for working with arrays in JavaScript.

I hope this helps you understand arrays in JavaScript. If you have any questions or need further clarification, feel free to ask!

👩‍💻 teach indexOf and includes, reverse, concat, join, at methods also

🤖 SheCodes Athena says:

Answered in 11.28 seconds

Sure, I'd be happy to teach you about these additional array methods!

indexOf and includes

The indexOf() method returns the index of the first occurrence of a specified element in an array, or -1 if the element is not found. Here's an example of using indexOf():

js
Copy code
let myArray = [1, 2, 3, 4, 5]; let index = myArray.indexOf(3); // 2

The includes() method returns a boolean value indicating whether a specified element is present in an array or not. Here's an example of using includes():

js
Copy code
let myArray = [1, 2, 3, 4, 5]; let hasThree = myArray.includes(3); // true let hasTen = myArray.includes(10); // false

reverse

The reverse() method reverses the order of the elements in an array. Here's an example of using reverse():

js
Copy code
let myArray = ["apple", "banana", "orange"]; myArray.reverse(); console.log(myArray); // ["orange", "banana", "apple"]

concat

The concat() method returns a new array consisting of two or more arrays concatenated together. Here's an example of using concat():

js
Copy code
let myArray = [1, 2, 3]; let otherArray = [4, 5, 6]; let combinedArray = myArray.concat(otherArray); console.log(combinedArray); // [1, 2, 3, 4, 5, 6]

join

The join() method returns a string consisting of the elements of an array joined together with a specified separator. By default, the separator is a comma. Here's an example of using join():

js
Copy code
let myArray = ["apple", "banana", "orange"]; let joinedArray = myArray.join(" "); console.log(joinedArray); // "apple banana orange"

at

The at() method returns the element at a specified index in an array. If the index is negative, it counts from the end of the array. Here's an example of using at():

js
Copy code
let myArray = ["apple", "banana", "orange"]; let firstFruit = myArray.at(0); // "apple" let lastFruit = myArray.at(-1); // "orange"

I hope this helps you understand these array methods in JavaScript! Let me know if you have any questions or need further clarification.

👩‍💻 Technical question

whats the difference between a " for in " loop and a " for of " loop in javascript

🤖 SheCodes Athena says:

Answered in 4.48 seconds

In JavaScript, the for...in loop and the for...of loop provide different ways of iterating over an object's properties.

The for...in loop iterates over all enumerable properties of an object, including those inherited from its prototype chain. It is commonly used for iterating over an object's keys.

Here's an example that uses a for...in loop to iterate over an object's keys:

javascript
Copy code
const person = { name: 'Jane Doe', age: 30, gender: 'female' }; for (let key in person) { console.log(key); } // Output: 'name' 'age' 'gender'

The for...of loop, on the other hand, is used for iterating over iterables like arrays, strings or maps. It returns the values of the object being iterated.

Here's an example that uses a for...of loop to iterate over an array's values:

javascript
Copy code
const numbers = [1, 2, 3, 4, 5]; for (let num of numbers) { console.log(num); } // Output: 1 2 3 4 5

So to summarize, for...in is used with objects to iterate over keys, while for...of is used with iterables like arrays to iterate over values.

👩‍💻 Technical question

how to remove an unordered element in javascript arrays with shift?

🤖 SheCodes Athena says:

Answered in 3.64 seconds

To remove the first element of an array using the shift() method, you simply call the method on the array. Here's an example:

javascript
Copy code
let arr = [1, 2, 3, 4, 5]; console.log(arr); // Output: [1, 2, 3, 4, 5] arr.shift(); console.log(arr); // Output: [2, 3, 4, 5]

In this example, the shift() method is called on the arr variable, which removes the first element (number 1) from the array. The resulting array is [2, 3, 4, 5].

👩‍💻 what if i want to remove the third one?

🤖 SheCodes Athena says:

Answered in 7.32 seconds

If you want to remove the third element of an array, you can use a combination of the splice() method and array indexing. The splice() method allows you to remove elements from an array based on their index, and can also be used to insert and replace elements. To remove an element at a specific index, we need to pass two arguments to splice(): the index of the element we want to remove, and the number of elements we want to remove (in this case, we want to remove just one). Here's an example:

javascript
Copy code
let arr = [1, 2, 3, 4, 5]; console.log(arr); // Output: [1, 2, 3, 4, 5] arr.splice(2, 1); // Remove the element at index 2 console.log(arr); // Output: [1, 2, 4, 5]

In this example, splice(2,1) removes one element (starting at index 2), which is the third element in the array (since array indexes start at 0). The resulting array is [1, 2, 4, 5].

👩‍💻 Technical question

how to remove few items from array

🤖 SheCodes Athena says:

Answered in 3.3 seconds

To remove specific item(s) from an array in JavaScript, you can use the splice() method. Here's an example:

javascript
Copy code
// Let's say you have an array of fruits const fruits = ['apple', 'banana', 'orange', 'kiwi']; // You want to remove 'banana' and 'orange' from the array fruits.splice(1, 2); // The first parameter of splice is the starting index, and the second parameter is the number of items to remove // In this case, we start at index 1 (which is 'banana') and remove two items ('banana' and 'orange') console.log(fruits); // ['apple', 'kiwi']

In the above example, we use the splice() method to remove 'banana' and 'orange' from the fruits array. We specify the starting index as 1 (which is the index of 'banana'), and the number of items to remove as 2 (which means we remove 'banana' and 'orange'). After we call splice(), the fruits array only contains 'apple' and 'kiwi'.

👩‍💻 Technical question

How to find the largest value inside an object with objects in javascript?

🤖 SheCodes Athena says:

Answered in 19.64 seconds

You can use the Math.max() method to find the largest value inside an object with objects in JavaScript. This method returns the largest of the given numeric values. In order to use the Math.max() method, you will need to use the Object.values() method to convert the object that contains the value you want to find into an array.

Below is an example of finding the largest value of a nested object:

javascript
Copy code
//object with objects that contain value to find const myObject = { obj1: {value: 254}, obj2: {value: 21}, obj3: {value: 525}, obj4: {value: 10} }; // Variables to hold max value let maxValue = 0; //converting the object to an array const values = Object.values(myObject); //Using the .map() method to loop the array, find maximum value values.map((el) => { //getting the value from each object and //comparing to existing value const valueFromObject = el.value; maxValue = Math.max(maxValue, valueFromObject); }); //Printing out the result console.log(maxValue); //Output: 525

👩‍💻 Technical question

what is the difference between arrays and objects

🤖 SheCodes Athena says:

Answered in 5.92 seconds

Arrays and objects are both used to store collections of data in JavaScript. The main difference between them is how they store data. Arrays store data in consecutive memory locations, and objects store data in named key-value pairs.

For example, an array of numbers can be declared using square brackets [1,2,3], whereas an object would use curly brackets {"a": 1, "b": 2, "c": 3}.

Read more about the difference between arrays and objects in JavaScript here.

🤔 Frequently Asked Questions

If you have any other questions, you can easily reach out to us here

AI stands for Artificial Intelligence. AI bots are able to learn from conversations with users and expand their knowledge this way.

SheCodes Athena will help you with technical questions about your code using artificial intelligence to find the answer. Imagine a super powerful human who has memorized everything on the internet and can access that knowledge in a matter of seconds. 🤯

SheCodes Athena can answer most coding-related questions, even complicated ones! It can even find bugs in your code and tell you how to fix them in just a few seconds. Impressive, right?

Just remember we're still in testing mode so the AI may return strange or incorrect replies. Feel free to message us if this happens!

SheCodes Athena can only reply to coding-related technical questions. The same type of questions you would ask in the channels on Slack.

For questions that are not coding-related, write us here 😃

You should treat Athena like a SheCodes team member, so always be polite! 😊 Ask your questions as detailed as possible, just like you would do on Slack.

Here are some examples:

- Prettier isn't working on my VS Code. How do I fix this?

- How do I make bullet points with different colors using the list element?

- My code in Codesandbox is having some issues. Can you please tell me what the issue is? [Include the link to your Codesandbox]

For now, SheCodes Athena is limited to 5 questions per day for each student.

In that case, you can either ask SheCodes Athena a follow-up question, or you can post on the designated weekly channel on Slack!

Our technical assistants are still available on Slack and are always happy to help! 😍💪

Remember, questions are limited to 1000 characters.

- If you're working with an HTML file: Post a snippet of your code related to the issue you're having (just copy the code and paste it into the question box).

- If you're working with Codesandbox: Good news, you can just post the link to your Codesandbox and the AI Assistant will be able to view your code.

- If you have a longer question that would require an entire HTML file or more than 1000 characters, post it in the designated weekly channels on Slack! 😃

Athena was the Greek goddess of wisdom, among other elements. She received her name from the city of Athens, which she is known for protecting.

Much like the goddess Athena, SheCodes Athena is also incredibly wise and can solve complicated coding puzzles in a matter of seconds! 😍

Not likely. AI can automate tasks and make developers' jobs more efficient but it can't fully replace the human ability to deal with complex software. And AI will still require human developers to supervise and improve it further.

So developers may see their tasks change but they won't be replaced by AI. 👩‍💻🤝💻